>[success]# 為什么需要消息隊列
- 異步 :一個下單流程,你需要扣積分,扣優惠卷,發短信等,有些耗時又不需要立即處理的事,可以丟到隊列里異步處理。
- 削峰 :按平常的流量,服務器剛好可以正常負載。偶爾推出一個優惠活動時,請求量極速上升。由于服務器 Redis,MySQL 承受能力不一樣,如果請求全部接收,服務器負載不了會導致宕機。加機器嘛,需要去調整配置,活動結束后用不到了,即麻煩又浪費。這時可以將請求放到隊列里,按照服務器的能力去消費。
- 解耦 :一個訂單流程,需要扣積分,優惠券,發短信等調用多個接口,出現問題時不好排查。像發短信有很多地方需要用到, 如果哪天修改了短信接口參數,用到的地方都得修改。這時可以將要發送的內容放到隊列里,起一個服務去消費, 統一發送短信。

>[success] # [實戰筆記 - Kafka 篇](http://www.hmoore.net/xiaohuamao/phpapi)
- 為什么需要消息隊列
- ActiveMQ、RabbitMQ、RocketMQ、Kafka、ZeroMQ 對比分析
- Kafka 相關概念
- ?分區、副本、消費組
- Zookeeper 上與 Kafka?相關的節點
- 偏移量的最大值,消息的存儲策略
- 如何解決重復消費和數據丟失問題
- 如何確保一條消息只被一個服務消費
- 如何讓一條消息被多個服務消費
- Kafka?相關命令行操作示例
- Windows 可視化工具 Kafka Tool
- 生產者代碼示例
- 消費者代碼示例
- Kafka 相關閱讀
- 技術擴展閱讀
- 第一章
- 第一節 PHP與Golang 項目案例 - 留言板
- 第二節 PHP 實現日歷功能
- 第三節 ThinkPHP 自定義分頁模板
- 第四節 WebUpload 文件上傳
- 第五節 UEditor 文本編輯器
- 第六節 ThinkPHP 驗證碼
- 第七節 百度地圖
- 第八節 PHP 接口調試工具 SocketLog
- 第九節 PHP 跟蹤調試代碼 XDebug
- 第十節 PHPExcel 表格導入和導出
- 第二章
- 十一節 實戰筆記 - Kafka 篇
- 十二節 實戰筆記 - Redis 篇
- 十三節 實戰筆記 - MySQL 篇
- 十四節 圖片轉ASCII碼圖
- 十六節 Python 視頻轉代碼視頻
- 源代碼
- 代碼2
- 十七節 GRPC PHP客戶端