redis VS kafka
(1)redis是內存數據庫,只是它的list數據類型剛好可以用作消息隊列而已
kafka是消息隊列,消息的存儲模型只是其中的一個環節,還提供了消息ACK和隊列容量、消費速率等消息相關的功能,更加完善
(2)redis 發布訂閱除了表示不同的 topic 外,並不支持分組
kafka每個consumer屬於一個特定的consumer group(default group), 同一topic的一條消息只能被同一個
consumer group內的一個consumer消費,但多個consumer group可同時消費這一消息。
(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來管理集群中的信息同步。