RocketMQ:两种消息消费方式:pull拉、push推
1、推送方式pull模式:
拉取,DefaultMQPullConsumer模式。
是由客户端主动向MQ请求数据,主动权在客户端,先拉取数据再消费。不会因为推送太快而处理不及时。
2、push模式:
推送,DefaultMQPushConsumer模式。
一般的push是MQ主动推送信息,但是可能会导致消费者跟不上推送速度。RocketMQ采用的是长轮询的方式,客户端访问MQ,有信息就拉取关闭连接消费,然后再请求并拉取。没有信息请求就会等待新信息,知道超时,超时会关闭连接并再次发送新的请求。
注意:RocketMQ的push模式是假的,实际上也是拉,源码证明: