V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liko
V2EX  ›  程序员

python 各子系统间如何通信

  •  
  •   liko · 2016-02-25 17:14:59 +08:00 · 3985 次点击
    这是一个创建于 3227 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2016-02-25 18:04:54 +08:00
    有些朋友提到了用消息队列,非常谢谢,不过我这种是需要立即返回数据的
    16 条回复    2016-02-26 19:05:25 +08:00
    zwzmzd
        1
    zwzmzd  
       2016-02-25 17:34:14 +08:00 via Android
    rpyc 试试?这玩意用起来方便,但是入门时会踩很多坑
    cloudzhou
        2
    cloudzhou  
       2016-02-25 17:39:30 +08:00
    RPC with protocol buffer
    shidenggui
        3
    shidenggui  
       2016-02-25 17:46:58 +08:00
    grpc / thrift
    harry890829
        4
    harry890829  
       2016-02-25 17:48:35 +08:00
    我写 c 的时候,用过 zeromq 库,感觉还不错,不过也有蛋疼的地方
    taozle
        5
    taozle  
       2016-02-25 17:54:56 +08:00
    RPC over HTTP
    nooper
        6
    nooper  
       2016-02-25 17:56:24 +08:00
    celery
    zjq426
        7
    zjq426  
       2016-02-25 18:04:48 +08:00
    简单的话可以用 jsonrpc , uwsgi 本身也可以 rpc 。
    9hills
        8
    9hills  
       2016-02-25 18:07:17 +08:00
    先给出 HTTP 的性能数据,然后分析性能瓶颈

    比如你的瓶颈是读写数据库,那么你换什么 rpc 都不管用的。。。
    langer
        9
    langer  
       2016-02-25 18:08:11 +08:00
    将非同步任务拆出来使用一步任务处理,功能模块用 rpc 。同步任务中做性能提高 rpc 还是比较主流的方案。
    zjq426
        10
    zjq426  
       2016-02-25 18:08:39 +08:00
    是 uWSGI ,手残了。另外这个貌似还可以通过 rpc 来本地调用实现不同语言之间模块调用(走网络的当然也可以),感觉比较炫酷。 http://uwsgi-docs.readthedocs.org/en/latest/RPC.html
    mengzhuo
        11
    mengzhuo  
       2016-02-25 21:24:09 +08:00 via iPhone
    感觉都是假的 先 profile 再看数据
    http 有一定的损耗 但绝对不是大头
    zhuangzhuang1988
        12
    zhuangzhuang1988  
       2016-02-25 22:58:43 +08:00
    celery..
    ltttx
        13
    ltttx  
       2016-02-26 09:47:12 +08:00
    先确定性能瓶颈是不是 http 的原因吧
    Walleve0
        14
    Walleve0  
       2016-02-26 14:02:33 +08:00
    如果都能确定瓶颈是 HTTP 通讯,也应该不用来问这个问题了吧。。
    liko
        15
    liko  
    OP
       2016-02-26 16:02:27 +08:00
    @zwzmzd rpyc 貌似没什么人用啊,这玩意靠谱么?
    liko
        16
    liko  
    OP
       2016-02-26 19:05:25 +08:00
    @9hills 有什么比较好的分析方法么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:48 · PVG 20:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.