ZeroMQ vs Crossroads I/O.

Jak*_*lås 46 zeromq crossroads-io

我正在研究使用ZeroMQ作为相当大的分布式系统的消息传递/传输层,主要针对监控和数据收集(许多生产者,少数消费者).

据我所知,目前有两种不同的同一概念实现; ZeroMQ和Crossroads I/O,后者是ZeroMQ的分支(2012年?).

我试图找出使用哪一个并想知道它们之间的差异,但到目前为止还没有找到关于此的更多信息.

例如:

  • 它们是否与电线兼容?
  • 它们是API兼容的,即某种通用基础API,可能具有不同的附加组件?
  • 他们都实现了对ZMTP(ZeroMQ消息传输协议)的支持吗?
  • 他们是否对未来发展有某种共同的理解,还是会在两个不同的方向上继续发展?
  • 与另一方有关的利弊是什么?

基本上,如何选择一个而不是另一个?

Pie*_*ens 79

自从Martin Sustrik开始使用C语言编写一个名为nano的新堆栈后,Crossroads.io就已经死了:https://github.com/250bpm/nanomsg

Crossroads.io没有,afaik,实现ZMTP/1.0和ZMTP/2.0,但它自己的协议版本.

Nano具有可插拔的传输,我们可能会为此制作ZMTP传输.Nano真的很不错,重新思考了原来的libzmq库,如果它成功的话会成为一个好的新内核.

理想情况下,Nano可以在API和协议级别进行互操作,因此是libzmq的可插拔替代品.不过,它确实还有很长的路要走.

请注意,现在有几个libzmq重写版本,包括JeroMQ(Java)和NetMQ(C#).这两个确实正确实现了ZMTP/1.0和ZMTP/2.0.还有像Axon(https://github.com/visionmedia/axon)这样的其他库,它们受到0MQ的启发,但不兼容.

根据经验,用户比其他任何东西更重视互操作性,因此很可能不同的类似0MQ的堆栈最终会说出相同的协议.

  • 是的,我认为关键是许多替代方案使用相同的协议并提供类似的API和消息传递模式. (4认同)
  • 用户重视互操作性,但稳定性,可靠性和长期支持更是如此.如果我们看看AMQP-> ZeroMQ-> Crossroads.IO-> Nano,我不会打赌nano是最后一个稳定的版本. (3认同)
  • 谢谢,看起来ZeroMQ现在是前进的方向.很高兴知道其他兼容的实现正在涌现 - 这看起来对未来非常有希望! (2认同)