ZMQ请求发送保证

ZMQ request sending guarantee

如果在使用 REQ/REP 套接字时,我在指南或 RFC 中找不到任何地方,假设我通过 REQ 套接字成功发送了一条消息,它能保证 REP 套接字收到消息吗?

如果不是,当 recv 调用未在 REP 套接字上阻塞(根据 RFC)时,您如何使用超时引入单一 client/server 可靠性。

它保证...?否。Zen-of-Zero 不包括交货保证。

如果这听起来很奇怪,请随意 re-read Zen-of-Zero 并享受这几个设计原则,它们使 ZeroMQ 成为 low-latency、high-performance 框架。

有一个间接保证 - 原子传递 - 一条消息要么完整无误地传递,要么根本不传递。也就是说,没有任何情况会在接收方出现任何类型的残缺不全,但是,对于发件人来说,如果消息能够通过,则没有任何保证。


如果不是怎么办?

在 ZeroMQ 琐碎协议之上有一个用于 user-implemented higher-layers 的大型 space,可能会引入 time-controlled 对 re-sending 或其他方式的请求强化交付执行政策。