vlambda博客
学习文章列表

◇企信之窗|微服务架构之服务治理

前文我们提到微服务架构将应用软件拆分为一系列独立的服务,各个微服务可被独立部署,各个微服务之间是松耦合的。面对如此之多细粒度的服务,那么微服务架构是如何管理和维护的呢?


服务治理原意是企业为了确保事情顺利完成而实施的过程,包括最佳实践、架构原则、治理规程、规律以及其他决定性的因素。服务治理指的是用来管理SOA的采用和实现的过程。应用到微服务架构中服务治理是用来管理SOA的采用和实现的过程,他要思考的是如何协调线上运行的各个服务,保障服务的SLA。


随着重庆电信业务不断扩展,软件应用规模越来越庞大。在微服务这种分布式架构下,服务数量将会持续增多,并且服务之间的调用关系非常复杂,我们需要一个轻量级的服务治理框架来管理和维护微服务,服务治理的理想的状态是采用自动化的手段通过服务的度量、管控、管理构建三维一体的服务治理闭环体系。度量就是指标的采集,我们通过服务注册中心采集到服务的注册信息及服务的管控指令信息,通过各个微服务主机节点上的主机日志、应用及服务日志、APM 监控的调用链日志,可以获取到相关的性能及异常指标信息;管控是手段,我们可以通过DevOps工具链对服务的需求、开发、测试、部署等关键环节进行强控,保障软件应用的质量和持续交付(CD);管理是保障,软件研发是一个强调协同的群体行为,我们通过持续集成(CI)增强产品、开发、测试之间的协作,这也是一种敏捷的协作模式。


回到微服务架构中,服务治理框架是整个架构中的中台。它承担了服务发现、注册、下线、限流、降级、集群容错、故障定位、容量规划等一系列的责任。好的服务治理框架可以部分提高软件的性能也是微服务架构的基础。上述的能力也是微服务的通用能力,有很多成熟的框架如SpringCloud的eureka、zookeeper、nacos等,各有优劣,如何选择合适的服务治理,就需要大家继续了解深耕了。