カフカプロセス/ブローカーを実行しているマシンで、3つの異なるトピックに属する3つのパーティションがあるシナリオを想像してみてください。このブローカは、3つのパーティションすべてのメッセージを受信します。それらを別のログサブディレクトリに格納します。私の質問は、カフカブローカーがこれらの書き込みをどのように予定しているかです。どのパーティション/トピックが次に書き込まれるかはどのように決定されますか?kafkaプロセスのスケジュールはどのようにして別のパーティションに書き込まれますか?
0
A
答えて
0
要求を超える注文については、下の画像は、ブローカが内部要求を生成処理する方法、概ね示し:
ネットワーク層のバイトを引いて内部リクエストにこれらを変換するネットワーク・スレッドの数があります。これらの要求はFIFOリクエストキューにスタックされ、そこでIOスレッドはそれらを取り出して、含まれているメッセージを関連するパーティションに追加します。したがって、短いメッセージは受信された順に処理されます。
ここで競合状態の可能性があるかどうかはわかりませんが、小規模な要求は大きな要求を「追い越す」可能性があります。直前に送信されます。しかし、これが可能であったとしても、私は一人のプロデューサーにとってこれまでに見られることはありえない、非常に起こりそうな縁辺のケースです。おそらくコードの理解を深める人がここに詰め込むことができますか?
一度のリクエストでバッチメッセージを並べ替えると、要求はTopicPartitionをキーとして使用するHashMapに内部的にメッセージを格納します。スカラHashMapが挿入された要素の順序を保持しないので、 1つのリクエスト内の複数のパーティションが処理される順序の周りに何らかの保証があるとは思わないでください。順序はパーティション内でのみ保証されるので問題ありません。
各パーティション内で、メッセージは送信前にプロデューサに与えられた順序で処理されます。
関連する問題
- 1. kafka-python - どのようにパーティションをコミットしますか?
- 2. パーティションはどのようにKafka Brokerに分割されますか?
- 3. pythonのプロセス書き込みを、ダーティとマークされずに即時に書き戻すようにスケジュールする
- 4. 新しい行が別のプロセスによって書き込まれたときにファイルから読み取る
- 5. 子プロセスの子プロセスをどのように識別できますか?
- 6. プロセッサはどのようにしてデータをメモリカードに書き込みますか?
- 7. NSDataはマルチスレッドでどのように書き込まれますか?
- 8. iTextSharpはどのように、書かれたテキストを隠して書き込み
- 9. Ember.jsのデータフローはどのようにスケジュールされますか?
- 10. ofstreamを使用して別のディレクトリのファイルに書き込むにはどうすればよいですか?
- 11. 別のプロセス(2.exe)で実行されているプロセス(1.exe)をどのようにデバッグできますか?
- 12. C#の別のプロセスで使用されているファイルにどのように書き込むことができますか?
- 13. kafkaのコンシューマが同じパーティションに読み書きする
- 14. どのようにタスクをCPUにスケジュールできますか?
- 15. typescript定義ファイルはどのようにしてdefinitelyTypedに書き込まれますか?
- 16. Cassendraの書き込みはどのように機能しますか?
- 17. glibcの書き込みはどのように機能しますか?
- 18. Kafkaスキーマのレジストリエラー:Noffレコードをkafkaストアに書き込めませんでした。
- 19. アクティブなパーティションをどのようにアンマウントできますか?
- 20. CSSルールは別のCSSルールをどのように上書きしますか?
- 21. NSLog()の出力はどこに書き込まれますか?
- 22. パーティション/データファイルに書き込む方法は?
- 23. spark.streaming.blockIntervalはRDDパーティションにどのように関係していますか?
- 24. キー別のMysqlパーティションには1つのパーティションしか表示されません
- 25. JedisClusterを使用してRedis Clusterのパーティションに書き込む
- 26. ChannelWriterによってバイトが書き込まれていないかどうかはどのように知ることができますか?
- 27. プロセスのカスタムルートはどのようになっていますか?
- 28. log4perlはどのようにしてSTDERRとファイルに同時に書き込むことができますか?
- 29. プロセスはどのようにしてELFファイルから作成されますか?
- 30. コンフルエントKafka:コンシューマは、トピックのすべてのパーティションについて最初から読み込みません。