zeroMQ与node.js与beanstalkd与Twisted的比较

3
我有以下要求:
  1. 可靠的消息传递:确保投递、按顺序、无重复
  2. 基于可定制条件的消息过滤和路由
  3. 消息多播
  4. 消息接收者列表,仅发送给指定接收者
  5. 消息优先级
  6. 内置安全性
我想了解在标题中提到的每个解决方案中都支持以上哪些要求。
如果您只知道一个产品,请分享您对它的看法。
1个回答

2
0Mq和Twisted是构建连接系统的工具,node.js是一个Web服务器(通过beanstalkd或0Mq拥有各种插件与其他系统通信)。
在列出的四种技术中,只有Beanstalkd实际上是队列。它可以使用命名“管道”来区分潜在的目的地(根据需要从一个或多个管道中选择所有工作人员)。如果每个工作人员从特定的管道读取,您可以将其类似于多播,让各个工作人员从自己定义的源拉取。
如果您真的需要多播和路由,您可能需要更复杂的东西。Rabbit.mq可以完成大部分工作,但如果您想将标准放在队列/路由软件本身中,则可能需要完整的ESB。

5
ZeroMQ是一个网络库,它支持队列并在内部使用它们。你还可以下载启用了ZMQ的程序,实现更加健壮的基于磁盘的队列,例如https://github.com/mkoppanen/pzq/wiki/An-Introduction-To-PZQ。 - Alister Bulman
10
错误的描述。将node.js描述为一个Web服务器就像说Ruby on Rails是一个Web服务器一样。话虽如此,ZeroMq是一种协议,就像TCP是一种协议一样,在许多语言中都有实现。Twisted类似于Node.js,但是使用Python编写。最后但并非最不重要的是,Beanstalkd是一个带有自己队列协议的工作服务器。 - graffic
mmmmmm zeromq 是一个协议(O.O)(来自zeroMQ页面:作为并发框架的套接字库)。Beanstalk是一个队列服务器,而不是工作进程。 - BlaShadow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接