V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Markxu0
V2EX  ›  问与答

RPC 服务支持 HTTP 和用一个 gateway 来对外提供统一的 http 服务,哪种方式更优雅和常用呢

  •  
  •   Markxu0 · 2023-12-19 16:22:28 +08:00 · 373 次点击
    这是一个创建于 369 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT

    • RPC 支持 HTTP 服务的话,不需要额外的组件,减少了系统复杂性

    • 用 Gateway 作为前端代理的话,更好的抽象,潜在的性能开销

    大家在业务中,通常是哪种方案呢,同时又是处于什么考量呢? thx!

    xenoblade
        1
    xenoblade  
       2023-12-19 20:36:15 +08:00   ❤️ 1
    从我的经验来说,大部分情况下,对外提供的 http 接口应当显式在服务中申明,再补充几个优势:
    1. 方便进行外部流量治理;
    1. 确定了内部接口与外部接口的边界,外部接口的定制化更加灵活;
    2. 项目交接时,代码即接口文档;

    而 gateway http to rpc 适配器的方式可以作为特殊情况下的补充(前提是该体系有成熟的解决方案以及丰富的线上使用案例):
    1. 老项目需要在不改动不重启的情况下快速的将 rpc 接口以 http 协议提供外部调用;
    2. gateway 有专门的团队维护,希望系统内只关注 rpc 流量治理,减少 http 接口相关的开发部署成本;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 16:27 · PVG 00:27 · LAX 08:27 · JFK 11:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.