2016-09-20 4 views
5

なぜカフカはプッシュベースではなくプルベースですか?私はKafkaが経験したように高いスループットを提供することに同意しますが、カフカのスループットは、それがプッシュベースの場合、どのように低下​​するかわかりません。どのようにプッシュベースのパフォーマンスを低下させることができますか?なぜカフカはプッシュベースではなくプルベースですか?

答えて

5

  1. プルは、
  2. 多様な消費者に対処する方が良いされているプルに賛成していた主なポイント

    Push vs pull

    、特定の設計上の決定を詳細カフカのマニュアルを参照してください。

  3. 消費者はより効果的に消費率を制御できます。
  4. バッチ処理が簡単です。 など...
+1

を明確にしています。ドキュメントから: "しかし、プッシュベースのシステムは、多様な消費者に対処するのが難しい..." _ –

+0

オープスはタイプミスだったので、私はもっと慎重にすべきでした。これを修正しました。ありがとうございます。 – arunvg

9

このようなシステムを設計する際のスケーラビリティが大きな要因でした(プッシュとプッシュ)。カフカは非常にスケーラブルです。カフカの主なメリットの1つは、パフォーマンスに影響を与えることなく、ダウンタイムなしで多数の消費者を追加することは非常に簡単であるということです。 カフカは、生産者からの毎秒100k +レートのイベントを処理できます。 カフカの消費者はトピックからデータを引き出すので、異なる消費者は異なるペースでメッセージを消費することができます。カフカは異なる消費モデルにも対応しています。あるコンシューマにリアルタイムでメッセージを処理させ、別のコンシューマにバッチモードでメッセージを処理させることができます。

もう一つの理由は、kafkaがhadoopのような単一の消費者だけでなく、異なる消費者は多様なニーズと能力を持つことができます。

もののベースのシステムを引くには、定期的にポーリングによる無駄なリソースのようないくつかの不備など

希望を持って、これはあなたが正確に後方にそれを持っている

+0

プッシュベースの利点について知ることは興味深いでしょう。 – Agis

関連する問題