个人随笔
目录
一、简单理解RocketMQ集群消费,广播消费,分组消费的使用场景
2020-12-24 10:35:47

下面的三种模式都是在消费同一个topic的前提下才会有效的。

集群消费

集群消费模式下,相同 Consumer Group的每个Consumer实例负载均衡的接受消息,于nginx的负载均衡,一条消息只会在一个consumer消费。正常我们用的都是这种模式,如果业务量庞大,那么就可以多启动几个消费程序即可。

广播消费

广播消费模式下,相同 Consumer Group 的每个 Consumer 实例都接收全量的消息。例如说,在应用中,缓存了数据字典等配置表在内存中,可以通过 RocketMQ 广播消费,实现每个应用节点都消费消息,刷新本地内存的缓存。

分组消费

分组消费模式下,不同Consumer Group 的每个consumer实例都接收全量的消息。这种模式在某些情况下是非常有用的,比如同一条订单消息,但是该订单消息会产生多个任务,比如:送抽奖资格,计算业绩,分配物流。当然我们可以生成三条消息来消费,但是这样得保证在消息生产者处连续三条消息都得发送成功,如果我们只发送一条消息,然后用分组消费的模式来处理,那么送资格,计算几页,分配物流这三个consumer实例都可以收到消息做自己的业务逻辑,并且消费失败的情况下,就算其他实例消费成功也还是会重推的,因为消费失败也只是跟这一个consumer的消费队列有关,这样子就可以很好的解决啦。

 2615

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2