• ZeroMQ注意事项


    Request-Reply状态

    • 供client它必须是严肃的格在根据第一呼叫zmq_send() 函数,然后调用zmq_recv()函数的顺序来运行
    • 对于server来说,运行时序相反
    • 假设不依照这个时序来,可能会错误发生。或者信息丢失
    • 能够有多个client同一时候连接到server

    Publish-Subscribe模式

    • SUB socket必须调用zmq_setsockopt()函数设置描写叙述符。
    • client能够调用 zmq_recv()。从SUB socket上读取数据,可是不能往SUB socket上写数据。否则会错误发生
    • 此模式是异步通信模式,即使没有client连接上server,server也在源源不断的发送数据。所以。即使client各种设置正确,也有可能接收不到数据,由于当client连接上的时候可能它所关心的数据已经发送完成了。

    • 一个subscriber 能够连接到多个publisher
    • 假设publisher 没有subscribers连接他。发送的消息会被简单的丢弃
    • 假设使用TCP连接,而且subscribers处理非常慢。那么消息会在publisher这边放入队列中

    Divide and Conquer

    此模式解释例如以下:

    • 一个ventilator负责生产能够并行运行的任务
    • 一系列的workers负责处理任务
    • sink负责从工作进程收集处理结果
    • 在Ventilator和worker之间必需要有同步。这点是非常难处理。

      当全部的Worker就绪之后,再生产任务,这样Worker就能够平均处理。

      假设不做同步,第一个连接上Ventilator的Worker将会做大量的工作


    Sink从Worker进程收集处理结果,结果存放在fair-queuing队列。其模型例如以下:





    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    strstr 的使用
    提取文本中的单词,单词简单排序
    sort 与 qsort
    AC自动机妙用
    字符串中如何提取数值
    字符串提取问题
    字符串搜索
    最短路问题
    树莓派挂载移动硬盘
    Mac 更换桌面背景崩溃(闪退)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4868132.html
Copyright © 2020-2023  润新知