RocketMQ 消息消费

消息消费

难点:如何保证消息只消费一次?

     顺序消费?

 

消费模式:

  1、单一消费模式:一条消息,仅被一个消费者进行消费。

    如何进行负载?负载算法有 a、平均分配。b、平均轮询分配。c、一致性hash(不推荐)。d、根据配置,为消费者指定消息队列。e、根据broker进行分配,消费者固定消费指定的Broker。

  2、广播模式:一条消息被所有的消费者消费。

 

消息的消费:

  1、一个消息队列,同时只允许一个消费者进行消息的消费。一个消费者可以消费多个消息队列。 

顺序消费:

  1、RocketMq 仅保证队列里面的消息顺序的消费,如果需要保证主题(topic)的顺序消费,需要将topic的的队列设置为1(默认为4),这样设置取消了队列的高性能。

 

 

与ActiveMq的对比:

  1、高性能方面:存储消息的时候,使用多个队列来存储,可以并发的进行消息的消费。

  2、ActiveMq消息顺序的处理方式为:任何时候,只允许一个消费者消费消息。如果有2个consumer都是这样配置的,broker只会把队列消息发送给其中一个consumer,如果这个consumer挂掉了,broker会把消息推送给另外的consumer,这样就保证了按顺序消费消息。

    

posted @ 2018-12-24 00:35  陈标  阅读(878)  评论(0编辑  收藏  举报