消息中间件
1.作用:
1.作用;限流,解耦,提高系统的响应能力
2,市面上的消息中间件
rabitmq 用得elaring语言,rocketmq 开源不够成熟, kafka 成熟的开源社区,完整的流式处理平台, 吞吐量最大。除非有些特殊的需求
3,你用的是那种
4.重复消费
消费端做幂等校验,设置主键,
自动提交。
丢失数据。
发送端设置重发次数,或者回调函数之类的东西。
消费者,自动提交改为手动提交。这样子会造成重复提交
kafka自己丢,kafka 会有leader 接收数据,folller拉去数据,我们交互的话,是和副本进行交互的。
5,消费不过来的情况。
1.一种是生产者,突然增大生产能力,一种是发送端突然消费变低了。
扩容,增大消费能力,减少发送端的一些暂时用不到的信息发送。
还有就是,消费端某些线程出现了问题,导致消费能力变低了。
后面补数据,数据会存在消息队列里面。
多副本机制。
1.kafak的topic 可以有多个分区,这个分区可以分布到多个kafka实例上,增加并发能力,
这个分区有多个副本,提高数据存储的安全性。
6,对kafak更细致的描述。
1.kafka 的partion(分区) 设置为1可以保证消息的顺序性。指定partion和key。
消费,订阅模型。
7kafak, 和mqtt的区别。
1.mqtt是一个协议, kafak是一个消息系统, 相同点都可以,做为发布,订阅的一个模式。
使用的话,mqtt更多的是物联网用作设备的连接,通信的功能,大规模的连接, 不能保证数据不丢失,
kafka, 侧重于数据的一个存储,以及大量数据的存储
https://github.com/Snailclimb/JavaGuide/blob/main/docs/high-performance/message-queue/kafka-questions-01.md
浙公网安备 33010602011771号