Sarama 并未订阅所有使处理卡住的主题是因为某些配置吗?

问题描述

我们的消费者组正在处理 100 多个主题(所有主题只有一个分区,所有 100 个主题的分区0)

例如在加载程序处理程序中批量处理。它根据消息计数和时间进行批处理和处理。循环继续进入股票行情,由于没有插入,批次大小 = 0,因此没有处理任何内容。 我们陷入了这个循环。

func (h *handler) ConsumeClaim(session sarama.ConsumerGroupSession,claim sarama.ConsumerGroupClaim) error {
  claimMsgChan := claim.Messages()
  for {
      select {
          case message,ok := <-claimMsgChan:
                     // insert message in batch and process if batch > 0 
          case <-maxWaitTicker.C:
                    // process if batch > 0 
      }
  }
}

在 100 多个主题中,只有 57 个主题收到消息 added subscription to,其余 43 个主题从未订阅过,因此他们陷入无限循环,等待消息进入阅读频道。

请建议这是否是预期行为,是否由于某些并发限制? https://github.com/Shopify/sarama/issues/1897

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...