一.消息队列的两个模式和特点
两个模式:点对点模式(一对一,消费者主动拉取数据,消息收到后消息清楚); 发布/订阅模式(一对多,数据生产后,推送给所有订阅者)
8大特点:
1.解耦
2.冗余
3.扩展性
4.灵活性&峰值处理能力
5.可恢复性
6.顺序保证
7.缓冲
8.异步通信
队列:先进先出 栈:先进后出
二. 什么是kafka
kafka是一种欧冠高吞吐量的分布式发布订阅消息队列(所以有集群概念,底层是scala, kafka版本分为两部分来看,第一部分是scala版本)。kafka保存数据在每一个主题里,即topic。
topic要有入口和出口,入口->生产者(producer
)出口->消费者(consumer
),此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。
无论是kafka集群,还是consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性。
通俗易懂的例子来理解kafka:(来自: