我只想通过套接字进行一些RPC调用。我有一个运行jython2.5的服务器来处理后台的事情。我需要从在CPython上运行Django的前端服务器上打一些电话。我一直在努力让任何形式的工控机运转起来。在
我尝试过的事情:
- Apache Thrift没有任何实际版本,只有快照。我想用一些稳定的。在
- JSON-RPC很有趣,它应该能够在套接字上运行,但实际上,{a3}的大多数似乎只在HTTP上工作。HTTP开销正是我要避免的。在
- Protocol Buffers实际上只是一个序列化协议。据我所知,protobuf为RPC提供了接口生成,但它只是接口。实际上,所有连接代码的编写都取决于用户。如果我要使用套接字,我将只使用JSON进行序列化。它更简单,faster。在
- Pyro不能将Jython作为服务器正常工作。某种类型的套接字超时问题。我给邮件列表发了一封信。在
- pysage是的消息传递!只有它需要Python2.6或处理模块(它有编译的扩展)。Jython是2.5版本,不允许编译扩展。在
- Candygram是pysage的一个有趣的替代品,但据我所知,它是无法维护的。我还没和Jython试过。有什么经验吗?在
- Twisted Perspective BrokerTwisted在Jython上不起作用。在
我知道用XML-RPC做这件事很简单,这会让我更加古怪。我想避免HTTP的开销,但同时我真的不想为了实现我自己的协议而使用套接字。如果我这样做,我会做错的。在
有什么想法吗?我可能会哭20分钟,然后使用XML-RPC。在
Tags:
使用套接字如何,但要借助
asyncore
和asynchat
?在一些链接:
你有没有考虑过Hessian?简介:
它有Python客户机和Java服务器(还有更多)。在
更新:如果你对HTTP已经死了,为什么不直接使用}?不需要太多的协议,很难出错。发送/接收带长度前缀的酸洗字符串。在
SocketServer
和{我觉得最有趣的两个:
Gearman和{a2}。现在已经用C(最初是perl)重写了它,速度快了很多。它在生产中使用(尽管我不能指出任何在生产中使用的python绑定的例子)。它的MySQL和Postgresql接口非常有趣。最后,todays tweet来自Django的Jacob Kaplan Moss。
RabbitMQ尽管它只是一个消息队列,除非您同时使用celery,否则您仍必须序列化您自己的消息。
相关问题 更多 >
编程相关推荐