私は Node の世界から来た Go 初心者で、公式の Bitly Go クライアントを使用してコンシューマを構築しています。AddConcurrentHandlers を使用して 50 のゴルーチンを生成し、メッセージの消防ホースを処理しています。問題は、コンシューマーが遅れて、未処理/受信メッセージの指数関数を nsq に残すことです。他の誰かがこれに遭遇しましたか?
サーバーまたは NSQ の構成に問題があるかどうか、およびすべてのメッセージを受信と同時に処理できるかどうかを確認するために、Node で同じものを構築しました。
行くコード:
q, _ := nsq.NewConsumer("chat", "golangbetches", config)
q.AddConcurrentHandlers(nsq.HandlerFunc(func(message *nsq.Message) error {
l.Debug("Got a message: %v", message)
message.Finish()
return nil
}), 50)
err := q.ConnectToNSQLookupd("<address here>")