Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 异步消息队列-哪种组合?_Python_Messaging_Mongrel_Tornado_Zeromq - Fatal编程技术网

Python 异步消息队列-哪种组合?

Python 异步消息队列-哪种组合?,python,messaging,mongrel,tornado,zeromq,Python,Messaging,Mongrel,Tornado,Zeromq,我一直在尝试确定网站背后的推送消息服务使用哪种包的组合。。。 我目前的想法是使用Tornado+Socket.IO(Tornadio)和ZMQ。但我也在研究混血儿。还有一个类似的项目叫做Brubeck,它使用ZMQ和Eventlet从Tornado中提取。 我的主要问题是。。。我想知道如果我使用龙卷风,杂种2的好处会在哪里发挥作用。到那个时候,龙卷风有必要吗?我想那时我只需要编写一个Mongrel2 python处理程序,就这样。我想重点介绍一下websockets/jssockets的使用,这

我一直在尝试确定网站背后的推送消息服务使用哪种包的组合。。。 我目前的想法是使用Tornado+Socket.IO(Tornadio)和ZMQ。但我也在研究混血儿。还有一个类似的项目叫做Brubeck,它使用ZMQ和Eventlet从Tornado中提取。 我的主要问题是。。。我想知道如果我使用龙卷风,杂种2的好处会在哪里发挥作用。到那个时候,龙卷风有必要吗?我想那时我只需要编写一个Mongrel2 python处理程序,就这样。我想重点介绍一下websockets/jssockets的使用,这就是为什么使用Socket.IO很有趣的原因,因为它可以为您处理所有的向后兼容性

如果要考虑的组合工具是:Python focus、Tornado、Mongrel2、ZMQ、Brubeck和Socket.IO,那么对于支持WebSocket的最佳组合,您有什么建议?有了Mongrel2,可伸缩性的想法真的很有吸引力,而且只需要打开更多的python处理程序

更新日期:2012年1月1日 起初是Tornado+TornadIO+ZeroMQ,并且有一个工作的服务器。但最终我学习了Go(),并使用带有内置并发性的纯Go重写了我的服务器。结果比python快了10倍多,甚至比我的python版本有更多的功能:


随着Go团队向Go 1.0发布更多的版本,它似乎在不断加快速度,这听起来像是Flash/Javascript绑定的工作


这样,浏览器中就有一个ZMQ应用程序,它是发布套接字推送相关消息的子应用程序。

听起来像是Flash/Javascript绑定的工作


这样,浏览器中就有一个ZMQ应用程序,它是任何发布套接字推送相关消息的子应用程序。

我将自己的更新添加到此问题作为答案,因为我从未收到任何其他答案,因此我可以关闭此问题

起初是Tornado+TornadIO+ZeroMQ,并且有一个工作的服务器。但最终我学习了Go(www.golang.org),并使用内置并发的纯Go重写了我的服务器。结果比python快了10倍多,甚至比我的python版本有更多的功能:


随着Go团队向Go 1.0发布更多版本,它似乎一直在加快速度。我将自己的更新添加到这个问题中作为答案,因为我从未收到任何其他答案,因此我可以关闭这个问题

起初是Tornado+TornadIO+ZeroMQ,并且有一个工作的服务器。但最终我学习了Go(www.golang.org),并使用内置并发的纯Go重写了我的服务器。结果比python快了10倍多,甚至比我的python版本有更多的功能:


随着Go团队向Go 1.0发布更多版本,它似乎在不断加快速度

像RabbitMQ这样的标准消息队列有什么问题?从很久以前就开始工作了,而且非常可靠。我以前在应用程序之间使用过ZMQ作为python RPC模块。我真的很喜欢它,想坚持下去。它也是Mongrel2的核心,在Tornado中也有很多支持。你正在征求关于选择哪些工具的建议,但你需要解释一下(并概括)你试图解决的问题。对于网站,我们希望双向连接,以便用户可以一次订阅多个消息通道。并且能够向频道发布消息。因此,无论他们是与另一个用户进行一对一的聊天,还是接收与他们当前所在论坛相关的实时消息。我们希望关注WebSocket,而不是长轮询。基本上只是酒吧sub的功能,具有任意数量的子频道。我想通过他们的套接字连接,他们可以指定他们想要的通道,并且可以在服务器处理程序中为他们启动sub。我使用tornado+socketio(tornadio)+redis(通过brukva)进行发布/订阅。像RabbitMQ这样的标准消息队列有什么问题-从很久以前就开始工作,而且非常可靠。我以前使用过ZMQ,用于应用程序之间的python RPC模块。我真的很喜欢它,想坚持下去。它也是Mongrel2的核心,在Tornado中也有很多支持。你正在征求关于选择哪些工具的建议,但你需要解释一下(并概括)你试图解决的问题。对于网站,我们希望双向连接,以便用户可以一次订阅多个消息通道。并且能够向频道发布消息。因此,无论他们是与另一个用户进行一对一的聊天,还是接收与他们当前所在论坛相关的实时消息。我们希望关注WebSocket,而不是长轮询。基本上只是酒吧sub的功能,具有任意数量的子频道。我想通过他们的套接字连接,他们可以指定他们想要的频道,并且可以在服务器处理程序中为他们启动sub。我使用tornado+socketio(tornadio)+redis(通过brukva)进行发布/订阅。实际上,我问的是服务器实现,而不是客户端。另外,我不想依赖flash。我的目标是坚持使用python应用程序。如果您想在浏览器中运行,那么就不能使用python。另外,javascript绑定只使用一个flash对象来访问真正的套接字。ZMQ是不可知的,因此在服务器上使用Python和在客户机上使用其他东西都很容易。但是首先用Python构建您的客户机原型。谢谢您的评论,但我认为这并没有真正解决我的问题。我根本不关心客户。我想了解的是人们对开发消息队列的服务器端组合的看法。我最终用Tornado+TornadIO+ZMQ编写了我的服务器。到目前为止,它的工作。但现在我想知道是否要切换到Redis以实现持久性。我仍然不确定Mongrel2是否会是一个更好的基地。客户端方面都是javascript vi