zeromq(ZMQ)开篇学习小记

来源:互联网 发布:千牛卖家mac 编辑:程序博客网 时间:2024/05/28 03:02

1 zmq支持的通信协议

  tcp/ipc/inproc/pgm , 创建socket非常简单。 

2 zmq的通信模式

   2.1  请求-应答, 对应socket 类型为 ZMQ_REQ, ZMQ_REP, 一问一答类型。如果ZMQ_REQ当前缓冲超过了高水位标记(HWM)或者当前没有client连接,则zmq_send 阻塞。

   2.2 发布-订阅, 对应socket类型为ZMQ_PUB, ZMQ_SUB, 典型的一对多类型,ZMQ_PUB任何情况下都不会阻塞,这是与其他各种类型socket的典型区别。,ZMQ_SUB如果想要生效,必须通过zmq_setsock进行设置过滤器,过滤器如果为“”, 则表示订阅所有消息,否则就只订阅开头匹配的消息。 实测结果表明,普通类型的PUB/SUB如果PUB端发送量大的时候,会丢消息,理由就是PUB的时候不会关心SUB端是否收到。

   2.3 管道, 对应socket类型为ZMQ_PUSH, ZMQ_PULL,单向流动型,ZMQ_PUSH同样会阻塞。

   2.4 路由, ROUTER和DELEAR, 双向通信的socket, 是REQ/REP的高级方式。

   2.5 PAIR, 用来在进程内通信,属于实验类型的socket。

3 HWM以及高级用法后续研究,未完待续

0 0
原创粉丝点击