kafka学习之路(一)消息队列
1:消息队列内部实现原理(优缺点)
(一)
(1):点对点模式(一对一,消费者主动拉取数据,消费收到后消息清除);
优点:速度有消费者决定 (消费数据有消费者主动拉取);
缺点:需要消费者实时监控队列是否有数据,因为是主动拉取;
(2):发布/订阅模式(一对多,数据生产后,推送给所以的订阅者);
优点:发布订阅模式,由队列推送消息给订阅者,不需要消费者实时监控队列。
(二)消息队列优点
(1):解耦(客户端A跟客户端B不会直接连接,而是跟过一个中间件进行交互。
(2):冗余(数据保存和备份的能力。)
(3):扩展性(可以集群,可扩展)
(4):灵活性&峰值处理能力(可拓展,可集群,并发高)
(5):可恢复性(数据是冗余,有备份,丢了可以恢复的)。
(6):顺序保证(队列是先进先出的)
(7):缓冲(来不及消费的数据可以进行缓存)
(8):异步通讯(客户端A发送数据给客户端B,如果客户端B挂了也是没有关系的,消息队列能够进行缓存,没有被消费)
注意:1:同一个消费者组的消费者不能同时消费同一个分区的数据
2:Follower只做备份用的