python 各子系统间如何通信

2016-02-25 17:14:59 +08:00
 liko

业务被分成了几个子系统,全部用 python ,相互之间使用 http 通信,感觉性能不佳,求指点

3757 次点击
所在节点    程序员
16 条回复
zwzmzd
2016-02-25 17:34:14 +08:00
rpyc 试试?这玩意用起来方便,但是入门时会踩很多坑
cloudzhou
2016-02-25 17:39:30 +08:00
RPC with protocol buffer
shidenggui
2016-02-25 17:46:58 +08:00
grpc / thrift
harry890829
2016-02-25 17:48:35 +08:00
我写 c 的时候,用过 zeromq 库,感觉还不错,不过也有蛋疼的地方
taozle
2016-02-25 17:54:56 +08:00
RPC over HTTP
nooper
2016-02-25 17:56:24 +08:00
celery
zjq426
2016-02-25 18:04:48 +08:00
简单的话可以用 jsonrpc , uwsgi 本身也可以 rpc 。
9hills
2016-02-25 18:07:17 +08:00
先给出 HTTP 的性能数据,然后分析性能瓶颈

比如你的瓶颈是读写数据库,那么你换什么 rpc 都不管用的。。。
langer
2016-02-25 18:08:11 +08:00
将非同步任务拆出来使用一步任务处理,功能模块用 rpc 。同步任务中做性能提高 rpc 还是比较主流的方案。
zjq426
2016-02-25 18:08:39 +08:00
是 uWSGI ,手残了。另外这个貌似还可以通过 rpc 来本地调用实现不同语言之间模块调用(走网络的当然也可以),感觉比较炫酷。 http://uwsgi-docs.readthedocs.org/en/latest/RPC.html
mengzhuo
2016-02-25 21:24:09 +08:00
感觉都是假的 先 profile 再看数据
http 有一定的损耗 但绝对不是大头
zhuangzhuang1988
2016-02-25 22:58:43 +08:00
celery..
ltttx
2016-02-26 09:47:12 +08:00
先确定性能瓶颈是不是 http 的原因吧
Walleve0
2016-02-26 14:02:33 +08:00
如果都能确定瓶颈是 HTTP 通讯,也应该不用来问这个问题了吧。。
liko
2016-02-26 16:02:27 +08:00
@zwzmzd rpyc 貌似没什么人用啊,这玩意靠谱么?
liko
2016-02-26 19:05:25 +08:00
@9hills 有什么比较好的分析方法么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/259099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX