- ZeroMQ 是否保证消息的顺序(FIFO)。
- 有没有持久性的选择。
- 它是否最适合 IPC 通信。
- 它是否允许对消息进行优先级排序。
- 它是否允许对接收器进行优先级排序。
- 它是否允许同步和异步的通信方式?
问问题
4119 次
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 回答