2017-09-29 17 views
0

私の場合、私のプロデューサーはlibrdkafkaを使用します。topic.metadata.refresh.interval.msはデフォルトで5分です。 ブローカー側ではconnections.max.idle.msは2時間ですが、qpsはかなり低くなっていますが、リクエストの99.9%をrtt 20ms以内に入れることを望みますが、ブローカーが接続を閉じると、プロデューサーはチャネルを再確立してメッセージを送信します高い待ち時間。メタデータの更新が機能しないようです。カフカブローカーがアイドル接続を閉じるのを防ぐ

この問題を解決するにはどうすればよいですか?

+0

高レイテンシ、高レイテンシのようですか?接続の再確立がどれくらいの間行われているかについての数字はありますか? – dawsaw

答えて

0

メタデータの更新ごとに、librdkafkaは適切なブローカ接続を選択して要求を送信し、すべてのブローカ接続で送信せず、本当にランダムな接続では送信しないため、トピックメタデータの更新は使用できませんすべての接続を生かし続ける

カフカプロトコルには、アイドル状態の接続である「ハートビート」(ハートビート要求と混同しないでください)の安価な方法や副作用のない方法はありません。

ブローカ> = v0.11の場合、クラスタ情報のみのメタデータ要求を送信できます(トピックを要求していないので安価です)。 librdkafkaの機能要求github問題を作成することをお勧めします。

しかし、アイドル状態の接続が必要な場合は、connections.max.idle.msを本当に高く設定してください。

関連する問題