目录
为什么需要消息队列
1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理。
2.削峰 :按平常的流量,服务器刚好可以正常负载。偶尔推出一个优惠活动时,请求量极速上升。由于服务器 Redis,MySQL 承受能力不一样,如果请求全部接收,服务器负载不了会导致宕机。加机器嘛,需要去调整配置,活动结束后用不到了,即麻烦又浪费。这时可以将请求放到队列里,按照服务器的能力去消费。
3.解耦 :一个订单流程,需要扣积分,优惠券,发短信等调用多个接口,出现问题时不好排查。像发短信有很多地方需要用到, 如果哪天修改了短信接口参数,用到的地方都得修改。这时可以将要发送的内容放到队列里,起一个服务去消费, 统一发送短信。
分区、副本、消费组
Zookeeper 上存的 Kafka 相关数据
Linux Kafka 操作命令
- 查看 Kafka 中 Topic
- 查看 Kafka 详情
- 消费 Topic
- 查看所有消费组
- 查看消费组的消费情况
Windows 可视化工具 Kafka Tool
- 配置 Hosts 文件
123.207.79.96 ZooKeeper-Kafka-01
- 配置 Kafka Tool 连接信息
- 查看 Kafka 主题数据
生产者和消费者使用代码
- 具体操作参考 github.com/wong-winnie/library
订阅号:伟洪winnie
- 订阅号回复关键字【聊聊高并发高可用那些事】获取专栏文章