ZeroMQ学习随笔

ZeroMQ与ActiveMQ或者与RabbitMQ相比,存在着本质的区别,ActiveMQ可能更像一个消息队列服务器,而ZeroMQ可能更像是一组底层通信协议。(介于应用层与传输层的通信协议)

工作模式:

ZeroMQ与其他MQ类似,也实现了3中最基本的工作模式:发布-订阅,请求-应答,管道

工作方式1:发布-订阅


在此模式下,发布者会给自己绑定一个IP地址,订阅者连接到此地址,在此模式下,信息是单向流通的,发布者发送消息的过程中,不会去考虑是否存在订阅者。

在此模式下,可能会导致信息丢失,因为发布者不考虑订阅者是否存在。但是,如果订阅者先行启动时,也可能会存在丢包的问题,因为订阅者在发布者启动后,会尝试与发布者建立TCP连接关系,这个TCP连接可能会导致第一波数据的丢失。

因此如果不在双方直接增加同步策略,消息的丢失不可以避免。

2.请求-应答


在此模式下,必须严格遵循一问一答的形式。

发送消息后,若没有接受到回复,则发送第二条消息时会报错

同理,接收方,如果没有接收到消息,则不允许发出消息。

3.管道模式


管道模式中,我们可以认为Worker是一个客户端,而任务发生器和任务收集器是服务端。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部