首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nsq客户跟不上

nsq客户跟不上
EN

Stack Overflow用户
提问于 2015-03-24 21:30:29
回答 2查看 2.2K关注 0票数 2

我是来自Node世界的围棋新手,我正在使用正式的Bitly Go客户端构建一个消费者。我正在使用AddConcurrentHandlers来孕育50只猩猩来处理信息的消防软管。问题是,我的消费者在nsq上留下了指数级的未处理/接收消息。还有其他人遇到过这个吗?

我在Node中构建了同样的东西,以查看是否存在服务器或NSQ配置问题,以及它是否能够尽快处理所有消息。

GO代码:

代码语言:javascript
复制
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>")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-24 23:57:01

cfg.MaxInFlight处理的是,“这个comsumer实例将允许在飞行中允许的最大消息数量.”更多详细信息可在消费者来源中获得

cfg.MaxInFlight设置为合理的东西,因为它是默认值为1

示例配置是可在文件中查阅,其中将其设置为1000。这可能适用于您的应用程序,也可能不适合您的应用程序;而且,您最好监视它,因为错误的配置可能导致截短消息

票数 4
EN

Stack Overflow用户

发布于 2016-11-22 08:06:52

另一种加快消费者购买速度的方法可以在这里找到:https://github.com/nsqio/go-nsq/issues/187

其中一个对我有用的是在nsqd上增加--max-rdy-count,这使得用户的--max_in_flight比默认的--max_in_flight还要高。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29243277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档