以前のバージョンの Kafka では、1 回限りのセマンティクスの静的マッピングは、コンシューマー グループの不一致時にトランザクション ID とトピック パーティションの間にある必要があり、トランザクション ID が異なるトピック パーティションを取得する可能性があります。
このようなシナリオを回避するために、KIP-447: 正確に一度のセマンティクスに対するプロデューサー スケーラビリティが実装されました。KIP-477 からわかったことは、古いプロデューサーが新しい API(sendOffsetToProdcuer) の助けを借りてフェッチ オフセット呼び出しを使用してフェンシングしたことです。 ID はフェンシングには使用されません。
しかし、ここで私の疑問は、
まだトランザクション プロデューサーは transaction.id を期待しています。最新の Kafka バージョンでは、この値をどのように選択すればよいですか?
transaction.id にはパーティションとの静的マッピングが必要ですが、フェッチ オフセット フェンシングはコンシューマー グループのリバランス中にのみ有効になりますか?
この値は最新バージョンでは無効ですか?
Kafka EoS を理解し、運用システムに実装しようとしています。