• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go - nsq go客户端跟不上

[复制链接]
菜鸟教程小白 发表于 2022-8-16 02:59:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我是来自Node世界的Go新手,我正在使用官方的Bitly Go客户建立消费者。我正在使用AddConcurrentHandlers生成50个goroutine,以处理消息的紧急状态。问题是,我的使用者无法在nsq上留下大量未处理/接收到的消息。有人遇到过这种情况么?

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

执行代码:

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>")



Best Answer-推荐答案


cfg.MaxInFlight处理“此消费者实例将允许在运行中的最大消息数量”。consumer source中提供了更多详细信息

cfg.MaxInFlight设置为合理的值,因为defaults to 1

一个示例配置是available in the documentation,将其设置为1000。这可能适用于您的应用程序,可能不适用。并且,您最好对其进行监视,因为配置错误可能会导致truncated messages

关于go - nsq go客户端跟不上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243277/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap