聊一聊高并发高可用那些事 - Kafka篇

目录

为什么需要消息队列

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

  • 订阅号回复关键字【聊聊高并发高可用那些事】获取专栏文章

posted @ 2020-06-07 23:01  伟洪winnie  阅读(607)  评论(0编辑  收藏  举报