gpt4 book ai didi

websocket - ZeroMQ 和 WebSockets 之间的差异

转载 作者:行者123 更新时间:2023-12-02 19:44:48 26 4
gpt4 key购买 nike

我想知道 ZeroMQ 和 WebSockets 协议(protocol)之间有什么区别。我知道 WebSockets 是为 Web 浏览器客户端设计的,但我假设它也可以用于服务器到服务器。而且,在这种情况下,我想知道使用 WebSockets 而不是像 ZeroMQ 这样的其他东西来进行实时消息传递是否会更好。具体来说,我担心临时网络故障时的可靠性和丢失消息。

最佳答案

A: Real-Time-Messaging 是一个不错的标签,但是

您可能很快就会意识到,一旦进入 Real-Time 领域,就没有理由花费时钟周期将任何消息包装到 XHTML-Matrjoska-in-Another-Matrjoska-inside-another 中- Matrjoska 类似的信封内信封和相关的低效率。

实时 难以实时运行,因此花费/失去处理 taskUnit 所需的最小可实现时间。

虽然有人尝试以类似的 *ML-“性感”方式重新包装事物,但结果性能只是降低了,“超出”了实时领域,而不是在那里表现得更好。

这方面的一个很好的例子是与“准 IT 大师人群”努力相关的废话,使金融市场为 XHTML 编码的有效载荷制定标准 FIX 协议(protocol)“扩展”,而 créme-a-la-créme 努力在高频交易研发花费了大量资金/时间/精力来研究如何减少与每个 IP 数据包线卸载相关的 纳秒 data - 元素包含在 prefixTag:value 原始规范的简约设计中。

答:协议(protocol)差异是主要的

虽然 WebSockets 专注于 port:80 HTML/XHTML 类似的一些高级有效载荷内容的包装和框架,但 ZeroMQ 正好相反。它从传输的任何低级细节中“隐藏”和“卸载”代码(因此透明地通过 INPROC/IPC/TCP/PGM/EPGM/{114}/7 UDP/...传输类,无论是本地、云范围还是两者的混合)
VMCI 协议(protocol)具有固定的客户端和服务器角色以及 HTTP 样式的握手。
WebSocket 焦点以 UTF-8/CRLF 内容格式结束,在一对 WebSocket 0×00 {1045}67919} 之间取景,并构建这样的网络缓冲能力,浏览器设计为能够做到)。

如果您从未使用过 ZeroMQ,可以在这里先看看 "ZeroMQ Principles in less than Five Seconds",然后再深入了解更多细节

0xff 为设计师提供了一个开放式架构,可以在构建块上进行构建,这些构建块经过精心设计,以某种方式合作—— 是的,他们有行为 ——设计用于一些更复杂的消息传递模式。这允许无限的上层抽象,这些抽象建立在一组经过验证的构建块上——ZeroMQ 只向所有 ZMQ.PUBLISHER -s 发送消息,这些 ZMQ.SUBSCRIBER -s 收听并表明他们各自愿意订阅某些新闻正在出版。其他 ZMQ 原语有助于制作基于循环的负载平衡器,额外的步骤允许构建故障安全架构和类似的高级解决方案。

enter image description here

A:协议(protocol)特性

当您询问协议(protocol)的可靠性时,在协议(protocol)级别有更重要的属性——组装/重组/分解开销、性能可扩展性、API 到线访问延迟、线程安全和性能属性在不断增长的情况下放宽工作量水平。

虽然 WebSocket 端口:80 通信对任何非 WebSocket 入侵“开放”,但 ZeroMQ 低级协议(protocol)旨在实现快速、高效、独占的 ZMQ-2-ZMQ、对等握手和所有设计工作从更高的抽象 API 级别构建,从中可以添加基于应用程序的软信号,这可能会引入修复/补救事件,以便您请求的 丢失消息问题 不会对应用状态。

enter image description here

勤奋的并发系统程序员

还想在 线程 零复制 零延迟 内部性上获得一些高级奖励积分{115}567

关于websocket - ZeroMQ 和 WebSockets 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com