問題タブ [exactly-once]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
253 参照

apache-kafka - Apache Kafka Exactly Once トランザクション ID が新しいフェッチ リクエスト プロデューサー フェンシング アプローチに与える影響

以前のバージョンの Kafka では、1 回限りのセマンティクスの静的マッピングは、コンシューマー グループの不一致時にトランザクション ID とトピック パーティションの間にある必要があり、トランザクション ID が異なるトピック パーティションを取得する可能性があります。

このようなシナリオを回避するために、KIP-447: 正確に一度のセマンティクスに対するプロデューサー スケーラビリティが実装されました。KIP-477 からわかったことは、古いプロデューサーが新しい API(sendOffsetToProdcuer) の助けを借りてフェッチ オフセット呼び出しを使用してフェンシングしたことです。 ID はフェンシングには使用されません。

しかし、ここで私の疑問は、

  1. まだトランザクション プロデューサーは transaction.id を期待しています。最新の Kafka バージョンでは、この値をどのように選択すればよいですか?

  2. transaction.id にはパーティションとの静的マッピングが必要ですが、フェッチ オフセット フェンシングはコンシューマー グループのリバランス中にのみ有効になりますか?

  3. この値は最新バージョンでは無効ですか?

Kafka EoS を理解し、運用システムに実装しようとしています。