問題タブ [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.

0 投票する
0 に答える
167 参照

go - パーティションから消費できないパッケージ

トピックから消費することができず、コードまたはカフカ構成に問題があるかどうかわかりません。私が得ている問題は、「開始」の印刷ステートメントでスタックしているため、チャネル <-partitionConsumer.Messages() からメッセージを受信して​​いないことです。

これらは、いくつかのメッセージを含む kafka セットアップ ( https://kafka.apache.org/quickstart ) で行った手順です。次のコマンドを実行すると値が表示されるため、それらが存在することは確かです。

bin/kafka-console-consumer.sh --partition 0 --topic test --bootstrap-server localhost:9092 --offset 最も早い

  1. bin/zookeeper-server-start.sh config/zookeeper.properties
  2. bin/kafka-server-start.sh config/server.properties
  3. bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic テスト
  4. bin/kafka-console-producer.sh --broker-list localhost:9092 --topic テスト
0 投票する
1 に答える
1178 参照

go - Kafka に接続した後に Golang コンシューマーが Kafka メッセージを受信する際の遅延

私は Golang と Kafa を初めて使用するので、これはばかげた質問のように思えるかもしれません。

Kafka コンシューマーが最初に Kafka サーバーに接続した後、Kafka サーバーへの接続を確立してから最初のメッセージを受信するまでに遅延 (~ 20 秒) があるのはなぜですか?

直前にメッセージを出力し、受信したメッセージconsumer.Messages()ごとに別のメッセージを出力します。~20 秒の遅延は、1 番目fmt.Printlnと 2 番目の間fmt.Printlnです。

docker-compose.yml

0 投票する
3 に答える
1334 参照

go - Golang アプリ内に 1 つまたは複数の sarama.SyncProducer が必要ですか?

私は Golang を初めて使用します。イベントを kafka に公開するアプリを作成する必要があります。次の質問に対する答えが見つかりません。

  1. sarama.SyncProducer はいくつ必要ですか?
  2. すべてのアプリで 1 つを使用しても問題ありませんか? なんらかの生産者プールを用意する必要がありますか?
0 投票する
1 に答える
20710 参照

go - Kafka: クライアントが利用可能なブローカーを使い果たしました

更新: Docker のポートに問題があることが判明しました。なぜこの現象が修正されたのかわかりません。

奇妙なエラーに遭遇したと思います。私はSaramaライブラリを使用しており、コンシューマーを正常に作成できます。

このコードを分割してメイン ルーチンの外に移動するとすぐに、次のエラーが発生します。

kafka: クライアントが通信可能なブローカーを使い果たしました (クラスターに到達できますか?)

コードを次のように分割しました。以前の main() メソッドは、NewConsumer() というメソッドを持つコンシューマ パッケージに変換し、新しい main() は次のように NewConsumer() を呼び出します。

パニックステートメントが次の行でトリガーされ、sarama.NewConsumer出力されますkafka: client has run out of available brokers to talk to (Is your cluster reachable?)

このようにコードを分割すると、Sarama がコンシューマを作成できなくなるのはなぜですか? Sarama はメインから直接実行する必要がありますか?