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

请教:关于微服务模式下的跨组协同问题

  •  
  •   phpdever · 2021-06-25 09:52:51 +08:00 · 795 次点击
    这是一个创建于 1229 天前的主题,其中的信息可能已经有所发展或是发生改变。

    描述

    团队目前拆分了大概 30 个左右的微服务,目前出现了一些问题,特来请教。

    举例:Order 服务因为接口调整,但没有及时通知其他服务,导致其他调用到 Order 服务的一方接口异常,这里的调整指的是:请求参数修改、接口下线、接口迁移之类的。

    接口调用分几种,后端可以通过 RPC 调用,前端也有可能调其他微服务暴露出来的 HTTP 接口,所以需要考虑前后端分别遇到类似问题的时候,如何处理。

    这是我目前能够想到的解决办法:

    1. 接口变动前建立钉钉群,与相关联的微服务负责人同步,定好时间周期,以便配合调整。

    2. 后端层面可以监控程序异常,出现类似接口异常的时候推送钉钉报警通知

    3. 在 CI 的时候做这方面的检查?

    希望从 V 友们这里得到更好的解决方案,谢谢啦~

    youngce
        1
    youngce  
       2021-06-25 10:26:38 +08:00   ❤️ 2
    “但没有及时通知其他服务“,这种情况我们一般按照 Order 服务事故处理,扣绩效就完了。
    liuguangcuican
        2
    liuguangcuican  
       2021-06-25 10:50:03 +08:00 via Android   ❤️ 1
    我们目前类似于你说的 1+2,在改动前会在内部的项目流程系统上新建一个项目,将影响到的服务拉进来,建完后会自动拉个分支并钉钉通知对应系统的负责人
    THESDZ
        3
    THESDZ  
       2021-06-25 13:35:10 +08:00   ❤️ 1
    服务应该考虑版本,旧的服务应该保留一段时间,根据日志,保证没有调用后,下一个版本再移除.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:22 · PVG 00:22 · LAX 08:22 · JFK 11:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.