基于ZeroMQ的分布式系统

时间:2010-09-21 19:47:12

标签: queue system distributed zeromq

在具有以下数据流的分布式系统中:

  1. 客户端为分布式系统中的随机节点发送消息。
  2. 节点检查他是否可以执行操作。如果不是,则将消息发送到其他节点。并且该过程一直持续到正确的节点。
  3. 所以系统有以下流程:

    客户 - > nodeX - > nodeY - > nodeZ

    如果我想向客户端发送OK信号(来自nodeX),那么进程是否会使用ZeroMQ?

    谢谢!

1 个答案:

答案 0 :(得分:1)

通常zmq_send不会阻塞,但有些情况下它可以阻止 请参阅概述here,它取决于您使用的套接字类型。

如果您要发送到的节点无法到达/缓慢读取/慢速网络或传输等,则消息将排队。您可以设置一个阈值,以确定消息队列时发生的情况(消息尚未发送)达到一定的大小,该阈值称为ZMQ_HW。

当ZMQ_HW消息排队时,zmq_send()是否阻止或删除消息,您可以在上面提到的zmq_socket文档中看到。