10
  1. ZeroMQ 是否保证消息的顺序(FIFO)。
  2. 有没有持久性的选择。
  3. 它是否最适合 IPC 通信。
  4. 它是否允许对消息进行优先级排序。
  5. 它是否允许对接收器进行优先级排序。
  6. 它是否允许同步和异步的通信方式?
4

2 回答 2

6

Zeromq 最好理解为类似 udp 的消息传递系统。因此,本质上并不能保证任何这一点。它确实保证单个消息的各个部分被原子地按顺序接收,因为 ZMQ 允许发送由多个部分组成的消息。所有通信在设计上始终是异步的。

有关更高级的模式,请参见http://zguide.zeromq.org/

话虽如此,根据定义,所有要求的功能都会使传输速度更慢、更复杂。如果需要它们,您应该实施或使用指南的可用模式之一。

于 2012-10-17T07:22:54.207 回答
4

https://lists.zeromq.org/pipermail/zeromq-dev/2015-January/027748.html

作者说:“通过 TCP 或 IPC 承载的消息,如果它们通过相同的网络路径,它们将按顺序传递。这是有保证的,它是 TCP 保证,与 ZeroMQ 无关。ZeroMQ 永远不会重新排序消息。但是如果你通过两个或多个路径传递消息,然后再次合并这些流,你实际上将打乱消息。”

于 2017-07-06T12:02:27.780 回答