当前位置:  开发笔记 > 编程语言 > 正文

fast-ish python/jython IPC?

如何解决《fast-ishpython/jythonIPC?》经验,为你挑选了2个好方法。

我想做的就是通过套接字进行一些RPC调用.我有一台运行jython 2.5的后端程序服务器.我需要从CPython上运行Django的前端服务器进行一些调用.我一直在靠墙打败任何形式的IPC.

我试过的事情清单:

Apache Thrift没有任何实际版本,只有快照.我想用稳定的东西.

JSON-RPC很有趣,它应该能够在套接字上运行,但实际上大多数实现似乎只能在HTTP上运行.HTTP开销正是我想要避免的.

协议缓冲区实际上只是一个序列化协议.从我收集的protobuf提供RPC的接口生成,但它只是接口.实际上,编写所有连接代码取决于用户.如果我要使用套接字卡住,我只会使用JSON进行序列化.它更简单,更快捷.

Pyro无法与Jython作为服务器正常工作.某种套接字超时问题.我已经向邮件列表发送了一条消息.

pysage Yay传递消息!只需要python 2.6或处理模块(具有已编译的扩展).Jython是2.5版本,不允许编译扩展.

Candygram是一种有趣的替代pysage,但据我所知,它没有维护.我还没有尝试过Jython.有任何经验吗?

Twisted Perspective Broker Twisted对Jython不起作用.

我知道用XML-RPC做这件事很容易,这让我更加胡思乱想.我想避免HTTP的开销,但同时我真的不想让套接字变脏并实现我自己的协议.如果我这样做,我会做错的.

有任何想法吗?我可能会哭大约20分钟,然后只使用XML-RPC.



1> Vinay Sajip..:

你考虑过Hessian吗?从模糊:

Hessian二进制Web服务协议使Web服务无需大型框架即可使用,并且无需学习另一个字母表的协议.因为它是二进制协议,所以它非常适合发送二进制数据而无需使用附件扩展协议.

它有Python客户端和Java服务器(以及更多).

更新:如果您已经死了,为什么不使用SocketServerpickle?没有太多的协议需要,很难出错.发送/接收带有长度前缀的pickle字符串.



2> codeape..:

如何使用套接字,但在asyncoreasynchat?的帮助下?

一些链接:

一个例子

http://docs.python.org/library/asyncore.html

http://docs.python.org/library/asynchat.html

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有