引用
- 《分佈式消息中間件實踐》
整理
1.什麼是kafa?(P148)
分佈式發佈/訂閱消息系統。是apache頂級項目。具有以下特點:分佈式、消息持久化,同時爲發佈和訂閱提供高吞吐量,支持離線和實時的數據處理,消費消息採用拉取的模式。
2.爲什麼要使用消息隊列?或者說可以解決那些問題?(P2)
突發流量的流量削峯:對於流量突發的狀況 一般不會多見,業內常用的解決方案是 消息隊列。先將短時間內高併發的請求持久化,然後逐步處理,從而削平高峯期的併發流量。------------是不是也是健壯性呢?
解耦和擴展性:隨着系統的不斷擴大,各模塊之間可能會逐漸變成互換調用的關係;消息隊列可以作爲模塊間的中間層 來解耦重要的業務流程。
異步通信、日誌收集。防止因爲日誌的寫入,導致線程阻塞、請求延遲等,相當於異步記錄日誌。
事務的最終一致性。使用事件表和消息隊列,可以實現分佈式事務的方案
3.broker是什麼
kafka集羣中的一臺或多臺服務器,是消息的代理。生產者往brokers中指定topic中寫消息;消費者拉取指定topic的消息,brokers在中間起到了代理保存消息的中間站。
爲什麼要用kafka,不用MQ?