马老师java架构师需要掌握的前端架构 马老师学习源码的方法论
优点:主动权掌握在消费端自己手中,根据自己的处理能力量力而行。
缺点:如何控制 Pull 的频率,定时间隔太久影响时效性,间隔太短担心做太多“无用功”浪费资源。
比较折中的办法就是长轮询。
Push 与 Pull 区别:
Push 方式里,Consumer 把长轮询的动作封装了,并注册MessageListener监听器,取到消息后,唤醒MessageListener的consumeMessage()来消费,对用户而言,感觉消息是被推送过来的。
Pull 方式里,取消息的过程需要用户自己主动调用,首先通过打算消费的 Topic 拿到 MessageQueue 的集合,遍