我是来自Node世界的围棋新手,我正在使用正式的Bitly Go客户端构建一个消费者。我正在使用AddConcurrentHandlers来孕育50只猩猩来处理信息的消防软管。问题是,我的消费者在nsq上留下了指数级的未处理/接收消息。还有其他人遇到过这个吗?
我在Node中构建了同样的东西,以查看是否存在服务器或NSQ配置问题,以及它是否能够尽快处理所有消息。
GO代码:
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>")发布于 2015-03-24 23:57:01
发布于 2016-11-22 08:06:52
另一种加快消费者购买速度的方法可以在这里找到:https://github.com/nsqio/go-nsq/issues/187
其中一个对我有用的是在nsqd上增加--max-rdy-count,这使得用户的--max_in_flight比默认的--max_in_flight还要高。
https://stackoverflow.com/questions/29243277
复制相似问题