【发布时间】:2012-05-26 19:00:10
【问题描述】:
对于我正在开发的 django 应用程序,我需要实现两种 RPC 方式:
- 客户端可以从平台调用 RPC 方法并
- 平台可以从每个客户端调用 RPC 方法。
由于客户端大多位于 NAT 之后(这意味着没有公共 IP,以及不可预知的怪异防火墙策略),因此平台到客户端的方式必须由客户端发起。
我对如何从头开始编写这个有一个很好的想法,我也认为我可以从扭曲的发布者/订阅者模型中解决一些问题,但我了解到总有最好的方法来做到这一点在python中。
所以我想知道最好的方法是什么,也可以将最好的方法集成到 django。该代码必须能够在短期内覆盖数百个客户,并且(我们希望)在中/长期内覆盖数千个客户。
那么您建议我使用什么库/实现? 我主要是在寻找 RTFM 的起点!
【问题讨论】:
-
由于 django 专注于服务 http 请求,我想我必须制定一个 django 必须连接的外部模块。我还需要加密通信以避免中间人篡改。对于实际的实现,我正在考虑 pubsub 机制的不同实现:twisted、0mq、rabbitmq。
-
小更新,我也在看python websockets的实现...
-
好吧,经过一番挖掘,我发现了 django-websockets (pypi.python.org/pypi/django-websocket),但在试用后 (bitbucket.org/jmad/tests_django/src/f4e50796311c/websocket),我明白这是不行的,因为它会不适用于 wsgi。
-
我认为大部分内容都是扭曲的:它支持 xmlrpc 和 websockets ......我现在需要找出如何将所有这些粘合在一起。 stackoverflow.com/questions/4406256/… ; stackoverflow.com/questions/8096237/… ; twistedmatrix.com/trac/export/29073/branches/websocket-4173-2/…
-
刚刚发现,我正在尝试:blog.jupo.org/2011/08/13/…
标签: python django websocket rpc