rationa1cuzz
V2EX  ›  问与答

Python 库选择, Python 转发 http 请求,自带 http/aiohttp/flask/Django?

  •  
  •   rationa1cuzz · Sep 27, 2021 · 1691 views
    This topic created in 1863 days ago, the information mentioned may be changed or developed.
    需求:a 服务不可以直接调用 b,需要 a 访问 p,p 再调用 b,等 b 返回再返回给 a,a 此时一直在等待,同步的。
    8 replies  •  2021-09-27 18:49:01 +08:00
    Vegetable
    Vegetable
    Sep 27, 2021
    1
    你这需求说的太干吧了,要分情况。首先自带的 http 最好别用。我的经验 requests 性能也比较差。

    第一个问题,这个服务预计的 QPS 是多少?如果比较低,那爱咋整咋整吧。
    第二个问题,b 的处理速度如何?如果 b 响应很快,使用同步逻辑可能是可接受的,如果 b 需要阻塞比较久,可能需要使用异步逻辑,就比较推荐 async/await 那套了。
    第三个问题,这个转发是否有业务逻辑,比如鉴权系统、日志之类的,这个主要是看 web 框架的生态,如果完全不考虑这些,grpc 之类的协议是否也可以考虑?
    rationa1cuzz
    rationa1cuzz
    OP
    Sep 27, 2021
    2
    @Vegetable 无所谓 qps 不关心速度,只要实现,越快越好,也不用关心鉴权系统,只是要实现转发
    SbloodyS
    SbloodyS
    Sep 27, 2021
    3
    falcon
    Vegetable
    Vegetable
    Sep 27, 2021
    4
    @rationa1cuzz 那就 flask+requests 呗,最简单的,几行代码就行。不过你这个需求听起来有点像 p 在 b 的 ip 白名单所以只能转发一下,如果是这种情况可以在 p 布置一个 http 代理的,不用开发
    David1119
    David1119
    Sep 27, 2021
    5
    几个 nginx 就搞定了吧?
    lyleshaw
    lyleshaw
    Sep 27, 2021
    6
    看看 fastapi ?
    DaguguJ
    DaguguJ
    Sep 27, 2021
    7
    python 的问题不要纠结,flask+requests 方案轻量、简单去实现一个 demo,这个实现起来根本用不了一天时间。
    NCZkevin
    NCZkevin
    Sep 27, 2021
    8
    fastapi 或者 flask
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1447 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:26 · PVG 02:26 · LAX 10:26 · JFK 13:26
    ♥ Do have faith in what you're doing.