基于Spring Cloud微服务集群的服务治理思考

就目前了解的情况来看,公司的服务提供方是较为混乱的。可能也是因为刚进公司对大多数服务都不是很了解的原因。至少目前来说还是一头雾水。

个人觉得在以下方面可以加强:

  • 每一个服务提供方的功能范围需要明确,且能够从某种意义上与其它的服务提供方区分开来,形成文档来描述系统划分的原则与依据,协助使用者清晰的理解各个提供方的功能,简化调用。同时在后续的服务开发过程中严格按照这些原则来将新增加的服务划分到正确的系统中去,避免系统之间的边界在发展过程中越来越模糊与混乱。

  • 对于当前微服务集群中所提供的服务清单,应该能够通过系统能够看到完整的系统名称、包含提供的服务内容的描述信息、该系统提供的服务清单及其描述信息等。目前通过EurekaServer、Actuator及Swagger可以完成这些功能,但就多数应用来说,目前有一些不尽如人意的地方:一是各个系统的名称、描述信息等较为混乱,无法从这些信息上得到这个系统是做什么用途的。各个应用在定义名称、版本、描述信息时都很随意。同时,在使用Swagger来描述各个接口时,其描述信息也写的比较混乱。二是通过Swagger来查看各个服务提供方的服务信息非常不友好,无法在某一个界面中查看及搜索、定位集群所提供的所有服务接口,而只能先通过EurekaServer定位到某一个提供方后再去访问该提供方的SwaggerUI中查看其提供的接口信息。

    可以通过以下方式来进行改进 :

    • 严格规范每一个提供方的应用名称、描述信息的定义。
    • 通过使用Actuator、Erueka、Swagger已有的接口来做一个界面,将这些应用及其接口信息统一收集,并提供搜索定位等功能来辅助使用。
  • 提供调用链路的监控,每一个调用可能会同时调用多个提供者提供的服务,而提供者提供的服务本身又可能会调用其它提供者提供的服务,这些服务调用者之间的关系,如果有一个调用链路图能够看清楚每一个调用请求所使用的服务,那么在后续分析问题、进行某些修改的影响分析等都会非常有用。可以考虑引用sleuth来对调用链路进行监控与分析。

猜你喜欢

转载自blog.csdn.net/icarusliu/article/details/80414648