Ebr*_*adi 5 performance messaging high-availability zeromq spread-toolkit
我对......感兴趣:
我读过他们,但我找不到一个好的比较.特别是我对比较它们的性能基准感兴趣.(也许我应该自己做一个!我希望不会.)
好吧,我没有使用过其他两个,但可以与ZeroMQ分享我的经验.在我看来,它擅长你们所有人.
它与TCP一样快,不使用CPU或大量内存.它可以非常快速地推送大量消息.在内存不足之前它会使网络通道畅通(我怀疑你是否能够最大化CPU).在某个地方与RabbitMQ进行了比较,ZMQ的表现比它好2倍.从我在网上看到的内容来看,它正在高速交易中使用.
RabbitMQ也是一个非常好的工具.看看它 - 它可能适合你正在寻找的东西
如果您正确地设计了应用程序,那么您就没有单点故障.将两个插座连接到另一个插座非常容易.因此,如果其中一个失败 - 另一个是处理工作.有一些像水印这样的东西可以帮助你.阅读ZeroMQ指南,了解如何在没有SPOF的情况下设计应用程序.
关于传输选项(如果我正确理解这一点) - 由您来定义协议.ZeroMQ基本上承诺,它会将这一团数据提供给另一端.使用JSON,协议缓冲区,摩尔斯电码,无论你喜欢什么.
AMQP中没有内置路由.同样,由您来指定哪个ZeroMQ套接字连接到哪个,但这很容易.
我用它开发了几个月(使用Python)并没有发现它的稳定性问题.即使我尝试以错误的方式使用它,它只会抛出一个很好的错误,告诉我不要这样做.即使重新启动/杀死某些服务并将其重新启动也不会造成任何问题.我会说这是一个非常稳定的软件.
作为一个注释:始终使用最新版本 - 2.1版本非常注重稳定性,因此许多稳定性问题得到解决.
超过20种语言的绑定,活动邮件列表,非常好的文档,频繁发布.还要别的吗?
因为它是作为一个库而设计的,所以你可以自己设计应用程序(与框架的情况不同),它几乎可以让你的方式脱颖而出.它感觉有点像普通的TCP套接字,功能更强大,更易于使用(它保证了一条消息将作为一个整体传递,不仅仅是前128个字节,其余的就像普通套接字一样).
有一些,但它们都在指南中记录.(例如:当你连接(SUB)它时,你可能会错过来自PUB套接字的前几条消息.指南中有一个解释,配方如何处理它).
我发现这是一个设计最好的软件 - 稳定,写得很好,文档齐全,并不妨碍我.
我建议你阅读端到端的指南.它编写得很好,有很多语言(包括C++)的例子,它描述了许多边缘情况和痛点.
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |