問題タブ [sarama]
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.
apache-kafka - Kafka コンシューマ グループ ラグ: 初期および低全体のケースの問題
使用事例:
- プロデューサー: トピックで Kafka に書き込みます
db.inventory.customers
- ConsumerGroup1 (cg1): 読み取り
db.inventory.customers
と書き込みloader-b.inventory.customers
- ConsumerGroup2 (cg2):
loader-b.inventory.customers
Github から読み書きします。
ラグを監視し、いくつかの作業を行う
cg1ラグとcg2ラグを監視します。ラグが0 <= lag <= 100
両方のコンシューマ グループの範囲内にある場合、何らかのタスクを実行します。
問題
問題は、スループットが低いローダー トピックで、cg2 が消えるため、そのラグがわからず、-1 と見なします。私たちの条件が満たされることはなく、立ち往生しています。
0 <= lag <= 100
ここで、cg1 と cg2-1 <= lag <= 100
の条件を考えると、
次に、cg2 が作成されていない最初の実行でも、条件が満たされたと見なされます。しかし、私たちはそれを望んでいません。いくつかの作業を行ってから、ラグが発生する必要があります。
私は何をすべきか?
コード
go - Go で Uber-Zap ロガーを使用して、指定されたログを Kafka シンクに送信する
zap loggerパッケージを使用して、ファイル、コンソール、および Kafka シンクを備えたコアを作成しようとしています。INFO
ダウンストリーム コンシューマーによる処理のために、Kafka トピックに送信したい特定レベルのログがいくつかあります。ただし、現在の実装ではINFO
、不要なものも含めて、Kafka トピックのすべてのレベルのログを取得しています。
一般的な zap logger オブジェクトを使用して、同じレベルの不要なログが特定のシンクに行かないようにする方法はありますか?
以下は、単一のロガー オブジェクトを作成するために使用している関数です。
Saramaパッケージを使用してKafka プロデューサーを実装しています。また、カスタム ログ レベルを使用することも考えました。ただし、zap v1.0 ではサポートされていません。
go - sarama を使用して kafka プロデューサー/コンシューマー メトリックを取得するにはどうすればよいですか
sarama を使用して kafka プロデューサー/コンシューマー メトリックを取得しようとしています。しかし、同じことを行う方法の例を見つけることができません。誰かがサンプル実装例を提供できますか?
次のコードを使用して、ブローカーのメトリックを取得しています。しかし、プロデューサー/コンシューマーのメトリックを取得するための構成はどうあるべきですか? 私はそれが同じではないだろうと仮定しています。間違っていたら訂正して