RocketMQ
存疑的问题:
-
http和tcp都可以跨语言开发吗?好处在哪里
支持 HTTP 协议:支持 RESTful 风格 HTTP 协议完成收发消息,可以解决跨语言使用 MQ 问题。
支持 MQTT 协议:支持主动推送模型,多级 Topic 模型支持一次触达 1000万+ 终端,可广泛应用于物联网和社交即时通信场景。 -
pull和push的区别到底在哪里
区别是:
push方式里,consumer把轮询过程封装了,并注册MessageListener监听器,取到消息后,唤醒MessageListener的consumeMessage()来消费,对用户而言,感觉消息是被推送过来的。pull方式里,取消息的过程需要用户自己写,首先通过打算消费的Topic拿到MessageQueue的集合,遍历MessageQueue集合,然后针对每个MessageQueue批量取消息,一次取完后,记录该队列下一次要取的开始offset,直到取完了,再换另一个MessageQueue。
NOTE:pull拉取消息位移啥的需要自己去指定
-
全局顺序消息和局部消息原理是怎么样的
push和pull
push的问题在于慢消费,当发送者的速率远远高于消费者的时候