2016-08-17 8 views
1

2つのカフカブローカのクラスタとレプリケーションファクタ2のトピックがあります。ブローカの1つが死んでも、私のプロデューサはこの劣化クラスタに新しいメッセージを送信し続けますか? 1ノードの?あるいは、レプリケーションファクタ2は2つの生存ノードを必要とし、メッセージは拒否されますか?カフカレプリカの1つがダウンした場合

答えて

3

メッセージが無視されることはありません。生きているブローカーの数は構成されたレプリカよりも小さい。新しいカフカブローカがクラスタに参加するたびに、そのノードにデータが複製されます。

レプリケーションファクタを3以上に設定し、ブローカを1つだけ起動することで、このシナリオを再現できます。すぐに新しいノードがカフカのクラスタに参加して、データが複製されます

0

、レプリカ係数がパブリッシャメッセージに

4

には影響しません。これは、いくつかの要因に依存します。

  • あなたのプロデューサーである何acksの設定? 「すべて」に設定すると、メッセージがISRリスト内のすべてのノードに複製されるまで、リーダブローカはACKで応答しません。この時点で、彼がACKを気にしているかどうかを決定するのはあなたのプロデューサーの責任です。
  • min.insync.replicasの価値は?ノードの数がこの設定よりも小さい場合、ブローカーリーダーは、ノードが使用可能になるまでプロデューサからのメッセージを受け入れません。

基本的に、プロデューサは、より多くのノードがアップするまで、しばらくポーズを取る可能性があります。

0

複製因子2は、2つのライブブローカーを必要としない1つのブローカーがダウンしている間、それはメッセージをパブリッシュそれらの構成 に依存 - のACK - @Javier前述したようにmin.insync.replicas

は、これらの構成を確認してください

関連する問題