The difference between kafka and redis:
1. Redis message push (based on distributed pub/sub) is mostly used for message push with high real-time performance and is not guaranteed. reliable.
Other mq and kafka are guaranteed to be reliable but have some delays (non-real-time systems do not guarantee delays). Redis-pub/sub will be cleared when the power is turned off. Although using redis-list as a message push has persistence, it is too weak and not completely reliable and will not be lost.
2. In addition to representing different topics, redis publish and subscribe does not support grouping. For example, when Kafka publishes something, multiple subscribers can be grouped, and only one subscriber in the same group will receive the message. , which can be used as load balancing.
For example, when publishing in kafka: topic = "Publish Post" data="Article 1", there are a hundred servers behind it. Each server is a subscriber and subscribes to this topic, but they It may be divided into three groups. Group A has 50 stations, which are used to actually publish articles. All subscribers in Group A's 50 stations have subscribed to this topic.
Because they are in the same group, this message (topic="Post", data="Article 1") will only be received by one currently idle machine in Group A. The 25 servers in Group B are used for statistics, and the 25 servers in Group C are used for archive backup. Only one server in each group will receive it.
Use different groups to decide how many copies of each message should be sent, and use which subscribers in the same group are busy and which subscribers are idle to decide which server the message will be assigned to for processing. Production or consumer model.
Redis has no such mechanism at all. These two points are the biggest differences.
For more Redis-related technical articles, please visit the Redis Tutorial column to learn!
The above is the detailed content of What are the differences between kafka and redis. For more information, please follow other related articles on the PHP Chinese website!