目錄
為什么需要消息隊列
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
- 訂閱號回復關鍵字【聊聊高並發高可用那些事】獲取專欄文章