码迷,mamicode.com
首页 > 其他好文 > 详细

ZMQ通信模式

时间:2018-12-30 02:45:14      阅读:500      评论:0      收藏:0      [点我收藏+]

标签:生成   entity   balance   ide   一个   头部   订阅   push   --   

本文简要介绍ZMQ常用的通信模式

请求响应模式

  • 常规搭配:ZMQ_REQ + ZMQ_REP
  • 带输入负载(Round Robin)均衡搭配:ZMQ_REQ + ZMQ_ROUTER
  • 消息分发搭配:ZMQ_ROUTER + ZMQ_DEALER
  • 带输出负载(load-balance)均衡搭配:ZMQ_DEALER + ZMQ_REP

ZMQ_REQ模式在发送消息时,ZMQ底层会在消息内容头部插入一个空帧,在接收消息时,会去掉空帧,将内容返回给应用层。

ZMQ_REP模式在接收消息时,会将消息空帧之前的信封帧保存起来,将空帧之后的内容传给上层应用。上层应用在响应消息时,底层会在响应消息前加上空帧以及对应请求的信封帧。

ZMQ_ROUTER模式在接收消息时,ZMQ底层会在消息头部添加上一个信封帧,用于标记消息来源。该信封帧可由发送端指定(调用zmq_setsockopt(ZMQ_IDENTITY)),也可由接收端自动生成唯一标识作为信封帧。在发送消息时,将信封帧之后的内容发送到以信封帧为标识的地址。

ZMQ_DEALER模式,对接收到的消息公平排队fair-queue,以Round-Robin方式发送消息。

发布订阅模式

ZMQ_SUB <-- ZMQ_PUB

任务管道模式

ZMQ_PUSH -> [ ZMQ_PULL , ZMQ_PUSH] --> ZMQ_PULL

一对一通信

ZMQ_PAIR <--> ZMQ_PAIR

ZMQ通信模式

标签:生成   entity   balance   ide   一个   头部   订阅   push   --   

原文地址:https://www.cnblogs.com/cherishui/p/10198375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!