ZeroMQ 在 Web 应用程序中的使用:前端如何与后端交互
我听说过一些关于 ZeroMQ 的事实,我认为它是非常强大的东西。但现在我尝试想象它如何应用在网络应用程序中。
您能否举一个在 Web 应用程序中使用 ZeroMQ 的示例?
那么,第一个让我印象深刻的就是简单的聊天应用程序。所以,我们需要前端和后端。我更喜欢使用 python+Tornado 作为后端。有使用 ZeroMQ 的 python 库。天气晴朗。所以,接下来的事情是前端。在前端我将使用一些 javascript 与后端交互。
所以,要做到这一点,我应该使用 ajax 调用,对吧?还有其他方法吗?
TIA!
I heard some facts about ZeroMQ, and I think it's very powerful thing. But now I try to imagine how it can be applied in web application.
Could you make an example of using ZeroMQ in web applications?
So, the first that strikes me - simple chat application. So, we need frontend and backend. I prefer using python+Tornado as backend. There is python lib for using ZeroMQ. It's clear. So, the next thing is frontend. In frontend I will use some javascript to interact with backend.
So, to do this I should use ajax calls, right? Are there some other ways to do it?
TIA!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最简单的方法是将 WebSocket 映射到 ZeroMQ 套接字,这对于 Tornado 和 PyZMQ 的 ZMQStream 对象来说非常简单。此类应用的一个示例是 IPython Notebook。这种方法的缺点是需要 Websocket,这限制了您可以支持的浏览器。当然,您也可以使用 jQuery 等映射 ajax 调用,并使用tornado 中的异步处理程序处理中继。
更复杂的 web:ZeroMQ 应用程序是 mongrel2 网络服务器。
您的正确选择取决于您的沟通模式。
The easiest way to do this is to map WebSockets to ZeroMQ sockets, which is quite simple with tornado and PyZMQ's ZMQStream objects. An example of such an app is the IPython Notebook. This approach has the downside of requiring websockets, which puts a limit on what browsers you can support. Of course, you could also map ajax calls with jQuery, etc. and handle the relay with async handlers in tornado.
A more sophisticated web:ZeroMQ app is the mongrel2 webserver.
The right choice for you is just going to depend on your communication patterns.