zoukankan      html  css  js  c++  java
  • 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队列。其模型例如以下:





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

  • 相关阅读:
    【转】漫谈linux文件IO--io流程讲的很清楚
    iostat命令
    【转】ATA Secure Erase
    同步IO和异步IO
    fio2.1.10--README
    【转】地址空间、内核空间、IO地址空间
    博客收藏--sailing的博客
    Cosmos OpenSSD架构分析--HOST interface(未完)
    nginx 过滤zip 类型的文件
    freeswitch GUI界面(portal)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4868132.html
Copyright © 2011-2022 走看看