不同类型的消费者
1、DefaultMQPushConsumer
- 由系统控制读取操作,收到消息后自动调用传入的处理方法来处理
- 设置好各种参数和传入处理消息的函数。系统收到后自动调用处理函数来处理消息,自动保存Offset,并加入新的消费者之后自动做负载均衡

- Consumer的GroupName:用于把多个Consumer一起,提高并发处理能力,两种消费模式
-
- Clustering:顺序消费模式,同一个ConsumerGroup里的每个Consumer只消费所订阅消息的一部分内容。同一个ConsumerGroup里所有的Consumer消费的内容合起来才是订阅Topic内容的全部,达到负载均衡的目的。
- Broadcasting:广播模式,同一个ConsumerGroup里的每个Consumer都能消费到所订阅Topic的全部消息,就是一个消息会被多次分发,被多个Consumer消费。
- NameServer的地址和端口号,可以填写多个,用分号分割。
- Topic名称用来标识消息类型,需要提前创建。如果不需要消费某个Topic下的所有消息,可以通过指定消息的Tag进行消息过滤。
2、DefaultMQPushConsumer的处理流程
- Push方式优点:实时性高
- Push方式缺点:加大Server端 工作量,进而影响Server端性能;各个Client性能不同,处理发送过来的任务时可能出现各种潜在问题;
- Pull方式优点:有主动权,Client自己去拉取数据
- Pull方式缺点:间隔不好确定;循环拉取消息的间隔不好设定,间隔小,容易"忙等",浪费资源;间隔大,不能及时处理
- 通过长轮询的方式达到Push效果的方法,长轮询方式既有Pull的优点,又兼具Push方式的实时性。设置brokerSuspendMaxTimeMillis,设置Broker最长阻塞时间,默认设置15s。