2016-09-20 481 views

回答

5

參考卡夫卡文檔裏面詳細介紹了具體的設計決策,

Push vs pull

是贊成拉是大點,

  1. 拉是在處理多元化消費者提供更好,
  2. 消費者可以更有效地控制消費率。
  3. 更容易批量實施。 etc ...
+1

你有它究竟是倒退。從文檔:_「然而,基於推送的系統很難處理不同的消費者......」_ –

+0

糟糕的是,我應該更加小心,這是一個錯字。更正了它,非常感謝您的通知。 – arunvg

9

可伸縮性是我們設計這種系統時的主要驅動因素(拉動vs推動)。卡夫卡是非常可擴展的。卡夫卡的主要優勢之一是,添加大量消費者非常容易,而不會影響性能並且不會出現停機時間。 012f卡夫卡可以處理來自生產者的每秒100k +事件。 因爲卡夫卡消費者從主題中提取數據,所以不同的消費者可以以不同的速度消費消息。卡夫卡也支持不同的消費模式。您可以讓一位消費者實時處理消息,另一位消費者以批處理模式處理消息。

另一個原因可能是卡夫卡不僅是爲像hadoop這樣的單一消費者設計的。不同的消費者可以有不同的需求和能力。

雖然拉的系統有這樣的資源,由於經常浪費輪詢等

希望一些不足這就說明

+0

儘管知道基於推送的優點,但這很有趣。 – Agis

相關問題