2017-05-22 18 views
0

私は生産にkafkaを実装しようとしています。シングルノード、複数ブローカーのカフカインスタンスが好まれない理由を知りたい単一のノードで複数のブローカーを使用する場合は、別々のディスクスペースを割り当てる必要があるとの意見はほとんどありませんが、その理由は明確ではありません。なぜkafkaクラスタ内の単一ノードの複数ブローカーが好まれないのですか?

単一のブローカーと複数のブローカーkafkaインスタンスの影響を単一のノードで説明できますか?

答えて

2

1つのノードに複数のブローカーが1つのディスクである場合は、すべてのブローカーが1つのディスクに対して読み書きする必要があります。これにより、システムはランダムな読み込みとランダム書き込みを多く行い、カフカクラスターのパフォーマンスは低下します。

一方、単一のノードに複数のディスクがあり、各ブローカが異なるディスクから読み書きする場合、ランダムな読み書きの問題を回避できます。

UPDATE

あなたは、単一のマシン上であまりにも多くのブローカーを持っている場合にも、ネットワーク帯域幅がボトルネックになる可能性があります。すべてのブローカーはネットワーク帯域幅を共有する必要があるためです。

+0

お返事ありがとうございます。私が読んで観察したことは、カフカブローカーのCPU使用量が少なく、あなたが言ったように、読み書きが重いことです。そのため、複数のブローカーを別々のマシンで個別に稼働させるのではなく、ディスクを追加してコアを必要としない強力なマシンを使用する方がよいでしょう。このようにして、私は物理的な機械を少なくする必要があります。これは良いアプローチだろうか? – Aditya

+0

@Aditya複数のブローカーが1台のマシンに複数のディスクを持っていても、ネットワークの帯域幅がボトルネックになる可能性があります。これらのブローカーはネットワーク帯域幅を共有する必要があるためです。したがって、それが良いアプローチであるかどうかは、実稼働環境によって異なります。ベンチマークテストを行う必要があります。 –

0

ほとんどのものと同様に、この質問に対する答えは「それは依存している」です。あなたの質問は性質上一般的です。パフォーマンス、可用性など、システムのどの属性に興味があるかを特定することができれば助けになります。性能面では、多くのインスタンスをボックス(ノード)に置くことは、リソースが豊富であれば問題ありません。しかし、それは可用性の観点からはあなたのシステムが単一の障害点を持ち、1つのノードがダウンすると巨大な危険にさらされます。(あなたが自由に複数の高いリソースノードを持っていない限り):

関連する問題