可能是我没有完全明白你的观点,但在ZeroMQ基础上花了几年时间 分布式系统 ,我可以解决这个概念中的一些失误。
的 第一: 强> 是的,Zen-of-Zero确实为相应的消息传递提供了ZERO-Warranty。这可能看起来令人惊讶,但有很多理由以这种方式工作,而不是其他。保证一致性 - 即消息按原样传送或根本不传送。这意味着,如果消息已通过套接字,则接收方可能确定发送方正在调度此内容并且不需要进行错误检查,因为ZeroMQ已经花费了所有精力来交付原始的1:1逐位副本。
的 下一个: 强> ZeroMQ被设计为无Broker的异步轻量级信令/消息传递工具。经纪人 - 的 减 强> 意味着,对于任何类型的基于工具的持久性都没有花费任何努力,所以实际上并不关心任何Broker端存储消息的任何(半)持久副本,无论是传递的那些还是那些由于技术原因没有交付(但是,交付的是 - 如上所述 - 保证是正确的并且是原件的精确副本)。
的 意义: 强> 这意味着,设计一个零效果将是零 的 zmq.device( zmq.Queue, f, b ) 强> 因为这将具有上面报告的所有属性,所以它将主要生活在同一组范例下。
zmq.device( zmq.Queue, f, b )
如果需要同时提供所提供的内容保修以及所有消息提供的保修,前者自成立以来就包含在ZeroMQ工具中,后者将添加到标准工具之上,作为扩展的上限 - 模式,重新使用交付不可知的标准工具。
通过这种方式,您可以获得上面概述的内容,但不会在所有其他用例中浪费单个CPU时钟,其中交付无关,只需“尽力而为”的传输即可。