zoukankan      html  css  js  c++  java
  • ZMQ通信模式

    本文简要介绍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

  • 相关阅读:
    CF948D Perfect Security
    bzoj 1015 [JSOI2008]星球大战starwar
    XJOI 7191 Genius ACM
    bzoj 1491 [NOI2007]社交网络
    CF1066F Yet another 2D Walking
    iOS main函数讲解
    iOS 邓白氏编码的申请
    iOS 开发与H5交互(JavaScriptCore框架的使用)
    iOS 开发之RunLoop
    iOS 蓝牙开发之(CoreBlueTooth)
  • 原文地址:https://www.cnblogs.com/cherishui/p/10198375.html
Copyright © 2011-2022 走看看