gpt4 book ai didi

performance - Corosync、ZeroMQ 和 Spread 的 CPG 在消息传递方面如何比较?

转载 作者:行者123 更新时间:2023-12-04 03:26:19 25 4
gpt4 key购买 nike

我感兴趣的是:

  • 表现
  • 延迟
  • 吞吐量
  • 资源使用情况(CPU、内存……)
  • 高可用性
  • 无单点故障
  • 特征
  • 交通选择
  • 路由选项
  • 稳定性
  • 社区
  • 积极发展
  • 广泛使用
  • 有用的邮件列表、论坛、IRC channel 、...
  • 易于与我当前的代码库集成
  • 可能有问题
  • 您认为我省略的任何其他内容

  • 我读过它们,但我找不到很好的比较。特别是我对比较它们的性能基准感兴趣。 (也许我应该自己做一个!我希望不会。)

    最佳答案

    嗯,其他两个我没用过,不过可以和ZeroMQ分享一下我的经验.在我看来,它胜过你所有的。

    速度和吞吐量

    它与 TCP 一样快,不使用 CPU 或大量内存。它可以毫不费力地快速推送大量消息。它会在您耗尽内存之前使您的网络 channel 饱和(我怀疑您是否能够最大限度地利用 CPU)。与 RabbitMQ 进行了比较在某处,ZMQ 的表现比它高出 2 倍。从我在网上读到的东西来看,它在高速交易中被使用。

    RabbitMQ 也是一个非常好的工具。看看它 - 它可能很适合你正在寻找的东西

    单点光纤

    如果您正确设计应用程序,那么您就不会出现单点故障。将两个 socket 连接到另一个 socket 非常容易。因此,如果其中一个失败 - 另一个将负责处理工作。有诸如高水位标记之类的东西可以帮助您一路走来。阅读 ZeroMQ Guide了解如何在没有 SPOF 的情况下设计您的应用程序。

    传输和路由

    关于传输选项(如果我理解正确的话) - 由您来定义您的协议(protocol)。 ZeroMQ 基本上向您保证它将把这些数据传送到另一端。使用 JSON、 Protocol Buffer 、摩尔斯电码,随心所欲。

    没有像 AMQP 那样的内置路由。同样,由您指定哪个 ZeroMQ 套接字连接到哪个,但这很容易。

    稳定

    我已经用它开发了几个月(使用 Python)并且没有发现它的稳定性问题。即使我尝试以错误的方式使用它,它也会抛出一个很好的错误,告诉我不要这样做。即使重新启动/终止某些服务并将它们重新启动也不会导致任何问题。我会说它是一个非常稳定的软件。

    注意:始终使用最新版本 - 2.1 版本非常注重稳定性,因此解决了许多稳定性问题。

    社区

    超过 20 种语言的绑定(bind),活跃的邮件列表,非常好的文档,频繁的发布。还要别的吗?

    一体化

    因为它被设计为一个库,所以由您来设计您的应用程序(与框架的情况不同),它几乎可以让您脱颖而出。感觉有点像普通的 TCP 套接字,功能更强大且更易于使用(它保证消息将作为一个整体传递,不仅是前 128 个字节,其余的字节和普通套接字一样)。

    陷阱

    有一些,但它们都记录在指南中。 (例如:当您连接(SUB)到它时,您可能会错过来自 PUB 套接字的前几条消息。指南中有对此的解释以及如何处理它的秘诀)。

    总体

    我发现这是设计最好的软件之一 - 稳定、编写良好、文档齐全并且不会妨碍我。

    我推荐你阅读 the guide端到端。它写得很好,有很多语言(包括 C++)的例子,它描述了很多边缘情况和痛点。

    关于performance - Corosync、ZeroMQ 和 Spread 的 CPG 在消息传递方面如何比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3157003/

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