kafka笔记
本文最后更新于:2022年6月15日 下午
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。
实现高性能,高可用,可伸缩和最终一致性架构。
使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。
kafka是消息队列的一种,那为什么要用消息队列呢?
用消息队列有什么好处呢?
系统之间 解耦
消息队列存放 其他系统所需要的数据,其他系统可能有很多个,可能有的需要,有的不需要,也可能有的系统现在需要,过段时间又不需要了。
系统之间 异步
主系统把 有用的消息或数据 放到消息队列中就可以直接返回了,提高用户体验和吞吐量。
用户和系统之间 削峰
多用户,高并发请求,系统处理不过来。
可以 把用户的请求都 放到消息队列中,然后呢,每个系统根据自己能够处理的请求的数量,去MQ中拿请求进行处理。
不过有个问题,就是MQ的消息积压了怎么办?
这就要考虑到消息队列会面临什么问题?
1 高可用
消息队列要分布式部署,也就是要有多台MQ服务器
2 数据丢失问题
系统还没有来得及消费数据,MQ就挂掉了,那如何持久化消息呢?
3 消息重复消费问题
消息积压问题
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!