参考资料:ØMQ - The Guide(英文)
参考资料:ØMQ - The Guide(中文)
本文主要介绍和总结在管道模式中各种套结字的行为.
套结字简介
PUSH: 套结字将采用轮询算法发送消息给一组匿名的PULL远端连接.
PULL: 套结字将采用公平队列算法接收来自一组PUSH连接的消息.
以下是译文,原文地址:http://rfc.zeromq.org/spec:30
管道模式
该模式是通常用于在一个多级流水线中进行任务分配,在流水线中其中一个或几个节点推送工作给工人,然后工人轮流推送结果到收集器。模式是可靠的,因为它不会丢弃消息,除非一个节点意外断开。该模式是可扩展,节点可以随时加入。
PUSH 套结字类型
PUSH套结字将采用轮询算法发送消息给一组匿名的PULL远端连接.
常规行为:
-可以被任意数量的PULL远端连接,PUSH只发送消息
-不会以任何方式过滤和修改传出的消息
-将会为每个远端连接维持一个传出消息队列
--将在启动一个到订阅者的连接的时候创建一个传出队列,不管连接是否建立,它都包含则这个队列
-当PULL连接到PUSH的时候,PUSH套结字将创建一个传出队列,如果断开连接,PUSH套结字将会摧毁该传出队列,并且丢弃掉队列中的消息
-应该限制运行时传出队列的大小
处理传出的消息:
-仅当连接的传出队列未满时,才认为该连接可用.
-将采用轮询的策略去路由传出的消息给可用的连接
-当它没有可用的连接时,将阻塞在发送上,或者返回一个合适的error.
-当它没有可