redis 和 kafka的区别

(1)redis的主要作用是用以内存数据库,只是它提供的数据类型list可以用作消息队列而已

而kafka是本身就是消息队列,消息的存储模型只是其中的一个环节,还提供了消息ACK和队列容量、消费速率等消息相关的功能,更加完善

(2)redis 发布订阅除了表示不同的 topic 外,并不支持分组

kafka每个consumer属于一个特定的consumer group(default group), 同一topic的一条消息只能被同一个consumer group内的一个consumer消费,但多个consumer group可同时消费这一消息。(我的理解是kafka中同一消费组中多个消费者进行消费且同一分组中的只可一个消费者消费同一条消息,避免重复消费且负载均衡更加灵活)

  (3) 处理数据大小的级别不同 

kafka is a distributed, partitiononed,replicated commited logservice. kafka是一个分布式的、易扩展的、安全性高的消息服务系统。kafka提供了类似于JMS的特性,但在设计实现上又完全不同,它并不是基于JMS规范实现的(kafka的实现不包含事务特性性)。kafka对消息的保存时以Topic进行归类的,向Topic发送消息的称谓Producer,从Topic接受消息的称谓Consumer。kafka集群由多个service组成,每个service在kafka集群中被称作broker。kafka集群的作用就是存储从Producer发过来的消息,然后按照一定的规则将消息发送给Consumer。无论是kafka集群本身,还是Producer 或者Consumer,均依赖于zookeeper来管理集群中的信息同步。

本文借鉴地址:https://www.cnblogs.com/xiaojinniu425/p/9430408.html

kafka更多参考知识:https://www.cnblogs.com/likehua/p/3999538.html

猜你喜欢

转载自www.cnblogs.com/Tian-J-Shuai/p/12435978.html