2019独角兽企业重金招聘Python工程师标准>>>
分为四种:
Publish-subscribe pattern 发布-订阅模式(也就是MQ中常说的topic模式)
这种模式主要用于1对多的数据发布(一个发布者,多个订阅者)
里面又具体分了ZMQ_PUB ZMQ_SUB
PUB发送消息给所有的SUB。如果此时SUB没有启动,下次启动时会漏掉该消息。
Pipeline pattern 管道模式(一分多模式)
这种模式主要用于发布数据到由管道排列的节点上面,数据总是沿着管道流动。每个管道阶段连接了至少一个节点
里面又具体分了ZMQ_PUSH ZMQ_PULL
一个1对N队列的实现,PUSH将数据放入队列,PULL从队列中不取出数据。数据会负载均衡的发送给每一个PULL。
Exclusive pair pattern 独立对模式(比较特殊的一种模式)
peer to peer 模式。主要用于进程内部线程间通信
里面又具体分了ZMQ_PAIR
线程间1-to-1队列的实现,采用了lock free实现,所以速度很快。
Exclusive pair pattern 独立对模式经常在队列的监控中进行使用。
request-reply-pattern请求应答模式
请求应答模式中,应答端必须先启动,不然请求端无法连接到应答端,(rep-req) 具体里面又分为REQ,REP,DEALER,ROUTER.
1、
zeromq是对socket的一种抽象,TCP中socket是一对一进行连接,0mq中使用sokcet对象可以轻松的实现1对1和1对多。
2、
inproc:同一进程不同线程之间的通信。 ipc: 一台计算机上的集成通信。 multicast:使用udp实现多播通信。