2016-09-21 9 views
0

は私がでuser_idを改造することにより、ユーザイベントのNパーティションを作成したい増加するときのイベントの順序を保存する方法Nので、イベントは順番に消費者が順番に処理することができ、それら送られた。カフカのパーティションが

私が今までNは、それぞれのパーティションと消費者の数を増やす負荷を処理し、にしたいのに十分ではありませんことを決定した場合、私は、ユーザーイベントを消費したときにイベントが注文維持するためにしなければならないのですか?

+0

私はこれがそれに答えるようだと思うhttp://stackoverflow.com/questions/33677871/is-it-possible-to-add-partitions-to-an-existing-topic-in-kafka-0-8- 2 – yaswanth

答えて

0

さて、パーティション数を増やして新しいトピックを作成し、すべてのイベントを新しいトピックにコピーすることができます。あなたが注文を維持するという方法では(指定されたuser_idに関して、とにかく元のスキームの異なるuser_idにまたがる注文についての約束はありません)。

もちろん、ダウンタイムが発生する可能性があります。ハッシュ計算が変更され、与えられたuser_idが複数のパーティションにまたがって分割される(そして順序が失われる)イベントが発生するため、パーティション数を増やすという単純な解決策は明らかに機能しません。パーティション数を増やすことの難しさは、最初にトピックを作成するときにパーティション数を重視したい理由の1つです。

+0

私はKafkaを新しくしました.1)イベントを新しいトピックにコピーするツールはありますか? 2)***読まれていない***のメッセージだけを移動し、読み込まれたメッセージを無視することは可能ですか? – Glide

+0

1)MirrorMakerがあります。https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27846330 2)コンシューマーオフセットを認識しているコピー機を作成しているわけではありません。 "読む"。あなたが複数の消費者団体を持っていても、 "読む"という概念は複雑になります。 – Aurand

関連する問題