开发者社区> 问答> 正文

关于ConsumerGroup的说明

最近有不少关于ConsumerGroup的问题,在这里针对常见问题做几点说明:


1. 我们限制了ConsumerGroup为1个,并且比赛环境禁止自动订阅,意思说只有用我们提供的ConsumerGroup才能消费到消息。


2. 相同的ConsumerGroup在一个JVM虚拟机中只能启动一个实例,你们可以将该实例做成单例等形式进行共享。


3. RocketMQ提供了Pull和Push两种消费模式,Push模式简单易用,Pull模式很多东西需要自己实现,比如offset的管理,采用pull模式的选手可以参考下push模式的实现。

4. 如果同一个ConsumerGroup的有多个consumer实例,那么每个consumer都需要订阅赛题里面的三个Topic,不然会出现订阅不一致的情况(后启动的consumer会覆盖先启动的consumer)。

展开
收起
尘央 2016-06-27 10:44:59 4136 0
2 条回答
写回答
取消 提交回答
  • 因为比赛只能了大家一个消费组,所以每个消费者要这个消费组订阅所有的topic。同时大家要保证每个worker最多只能有一个消费者。不要问我为什么?你们私下研究私下测试。
    2016-06-29 17:07:30
    赞同 展开评论 打赏
  • Re关于ConsumerGroup的说明
    你好,一个consumer实例能同时订阅3个topic吗?我记得当时我测的时候,如下:
    consumer.subscribe(RaceConfig.MqPayTopic, "*");这个代码后面订阅的topic会覆盖的呀,最终只会同一时间监听一个topic吧

    -------------------------

    Re关于ConsumerGroup的说明
    是我测试错了,可以订阅多个topic的
    2016-06-28 23:20:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载