当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Corosync,ZeroMQ和Spread的CPG如何比较消息?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我对……感兴趣: 表现 延迟 吞吐量 资源使用(CPU,内存,……) 高可用性 没有单点故障 功能 运输选择 路由选项 稳定性 社区 积极发展 广泛使用 有用的邮件列表,论坛,IRC频道,… 易于与我
我对……感兴趣:

>表现

>延迟
>吞吐量
>资源使用(CPU,内存,……)

>高可用性

>没有单点故障

>功能

>运输选择
>路由选项

>稳定性
>社区

>积极发展
>广泛使用
>有用的邮件列表,论坛,IRC频道,…

>易于与我当前的代码库集成
>也许可以
>你认为我省略的任何其他事情

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

好吧,我没有使用其他两个,但可以与 ZeroMQ分享我的经验.在我看来,它擅长你的所有.

速度和吞吐量

它与TCP一样快,不使用CPU或大量内存.它可以非常快速地推送大量消息.在内存不足之前它会使网络通道畅通(我怀疑你是否能够最大化CPU).与某地的RabbitMQ进行了比较,ZMQ的表现优于其中的2倍.从我在网上看到的内容来看,它正在高速交易中使用.

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

SPOF

如果您正确地设计了应用程序,那么您就没有单点故障.将两个插座连接到另一个插座非常容易.因此,如果其中一个失败 – 另一个是处理工作.有一些像水印这样的东西可以帮助你.阅读ZeroMQ Guide,了解如何在没有SPOF的情况下设计应用程序.

运输和路线

关于传输选项(如果我正确理解这一点) – 由您来定义协议. ZeroMQ基本上承诺,它会将这一团数据提供给另一端.使用JSON,协议缓冲区,摩尔斯电码,无论你喜欢什么.

AMQP中没有内置路由.同样,由您来指定哪个ZeroMQ套接字连接到哪个,但这很容易.

稳定性

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

作为一个注释:始终使用最新版本 – 2.1版本非常注重稳定性,因此许多稳定性问题得到解决.

社区

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

积分

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

陷阱

有一些,但它们都在指南中记录. (例如:当你连接(SUB)它时,你可能会错过来自PUB套接字的前几条消息.指南中有一个解释,配方如何处理它).

总体

我发现这是一个设计最好的软件 – 稳定,写得很好,文档齐全,并不妨碍我.

我建议你阅读the guide端到端.它写得很好,有很多语言(包括C语言)的例子,它描述了很多边缘案例和痛点.

网友评论