加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

(转)ZeroMQ的模式-Pipeline

发布时间:2020-12-13 19:42:32 所属栏目:百科 来源:网络整理
导读:Pipeline pattern 管道模式。 这种模式描述的场景是数据被散布到以管道方式组织的各个节点上。管道的每一步都连接一个或多个节点,连接多个节点时数据以RR方式往下流。 注意是 流 ,意味着数据跟发布模式一样是单向的。这个模式对应的socket是ZMQ_PUSH和ZMQ_

Pipeline pattern 管道模式。

这种模式描述的场景是数据被散布到以管道方式组织的各个节点上。管道的每一步都连接一个或多个节点,连接多个节点时数据以RR方式往下流。

注意是,意味着数据跟发布模式一样是单向的。这个模式对应的socket是ZMQ_PUSH和ZMQ_PULL.

ZMQ_PUSH

用来向下游节点发消息。下游多个节点时采取RoundRobin分发,zmq_recv()对于这个socket也是无效的。

与Pub不同的是,当下游节点达到高水位(HWM)或者根本没有下游节点时,zmq_send()就阻塞了,消息并不丢失。

Summary of ZMQ_PUSH characteristics
Compatible peer sockets ZMQ_PULL
Direction Unidirectional
Send/receive pattern Send only
Incoming routing strategy N/A
Outgoing routing strategy Round-robin
ZMQ_HWM option action Block

ZMQ_PULL

下游节点在这个socket上进行zmq_recv(),来收取上游发来的消息。zmq_send()在此socket上是没有意义的。

Summary of ZMQ_PULL characteristics
Compatible peer sockets ZMQ_PUSH
Direction Unidirectional
Send/receive pattern Receive only
Incoming routing strategy Fair-queued
Outgoing routing strategy N/A
ZMQ_HWM option action N/A

总结

流行的map-reduce可以说就是这样的模式。数据从头开始,map到许多节点进行计算,计算结果最终reduce到一处。单向,没有回头。

事实上,这种模式也多见于并行计算、分布式计算这些场景中。

这个模式跟pub-sub一样容易理解,因此也没必要再赘述了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读