ZMQ(概述)

ZeroMQ概述

ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型、连接处理、帧、甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字。换句话说,ZMQ是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系。ZeroMQ 并不是一个对 socket 的封装,不能用它去实现已有的网络协议。它有自己的模式,不同于更底层的点对点通讯模式。它有比 tcp 协议更高一级的协议。(当然 ZeroMQ 不一定基于 TCP 协议,它也可以用于进程间和进程内通讯)它改变了通讯都基于一对一的连接这个假设。ZeroMQ 把通讯的需求看成四类。其中一类是一对一结对通讯,用来支持传统的 TCP socket 模型,但并不推荐使用。常用的通讯模式只有三类:

 

一、请求回应模型

由请求端发起请求,并等待回应端回应请求。请求和回应是对应的,客户端发送数据,服务端接收到数据之后回应一条数。

一问一答,类似TCP。       

                                                                 

                                                                     

二、发布订阅模型

这个模型里,发布端是单向只发送数据的,且不关心是否把全部的信息都发送给订阅端。如果发布端开始发布信息的时候,订阅端尚未连接上来,这些信息直接丢弃。不过一旦订阅端连接上来,所有的消息都会接收到。而订阅端则只负责接收,不能发送数据。如果发布端和订阅端需要交互(比如要确认订阅者是否已经连接上),则使用额外的 socket 采用请求回应模型满足这个需求。                         

                                                                  

三、管道模型

这个模型里,管道是单向的,从 PUSH 端单向的向 PULL 端单向的推送数据流。可以实现负载均衡。                                              

不知道为什么,相关图片上传了 但是显示不了。不知道是不是被和谐了。                         

                                  

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值