云原生漫游指南(4)| 最后一步是服务注册与治理
上一期 《云原生漫游指南(3)| 从容器网络建设说起》的最后,我们介绍了如何保障应用按照预期的状态可靠运行。解决了服务间通信,并且保障业务稳定运行之后,我们的系统规模将会在云原生基础设施上逐步扩大。

 

本期《云原生漫游指南》就将从这里开始,继续介绍云原生路径中最后一个关键站点。

 

第九站 服务注册与治理:

选择更适用的框架

 

随着服务数量渐渐增多,这些服务之间就会构建起复杂的通信网络。微服务理念的核心,除了构建起这样的服务网络,更重要的是观察、记录和分析服务间的通信,进而通过一系列治理策略实现对服务性能和可用性的优化。因此在最后一站,我们要搭建起一套有效的服务治理框架。   首先是服务的注册和发现,也就是建立起一套针对系统中所有服务接口的“花名册”。通过服务注册中心,运维人员可以随时看到系统中所有服务的状态和分布,并将所需的治理策略通过注册中心下发到对应服务中;   其次需要有服务治理框架提供服务间的统一路由管理和负载均衡,这样服务间的请求就可以根据治理策略灵活控制,比如指向特定实例的路由规则、服务间流量限制、对故障服务的请求熔断等;   然后是服务链路的跟踪,当一个请求被发起时,微服务框架通过注入一个唯一的请求ID,帮助用户追踪该请求在整个系统中的流转,并且记录每个相关服务在响应时的延迟和返回码,从而精确地分析处理用户请求过程中的性能瓶颈。   最后是配置的统一管理与下发,可以帮助开发运维人员在统一的入口存放和更新各种不同类型的配置数据,并且在需要时将配置数据推送到服务实例中。从而在不影响系统运行的前提下高效地对系统配置进行微调和更新。   以上这些能力通常都由一个微服务框架来统一提供,而这些微服务框架一般可以分为两类:
  • 一类是以Spring Cloud为代表的侵入式微服务框架,其特征是框架与应用的代码耦合,开发者需要使用特定的SDK以获得服务注册、链路追踪等能力;

  • 另一类是由Service Mesh思想所代表的非侵入式微服务框架,其特点是通过部署与应用共同运行的代理来转发服务间的通信,从而实现数据采集和服务治理。

  侵入式微服务框架从性能和功能角度上讲更加成熟,而非侵入式微服务框架能够做到业务无感知、并且更灵活地跨语言,是微服务未来发展的重要趋势。   百度云原生微服务应用平台CNAP同时支持原生的Spring Cloud框架和百度自研的Service Mesh框架BMesh,并且实现了两套框架的统一治理,即服务注册在相同注册中心、服务可以跨框架路由和服务治理策略可以统一下发,从而方便企业选择更适用自身情况的框架,以及在未来灵活切换。   云原生漫游之旅已经结束,下面一图回顾全部9个站点,你对企业的云原生转型是否更有信心了呢? 如果你已经跃跃欲试想要立刻启程,不妨带上百度智能云为你提供的云原生“工具箱”——天合云原生平台,平台包含: CCE(容器引擎) CCR(容器镜像服务) BCI(容器实例) BEC(边缘计算) CNAP(云原生微服务应用平台) CFC(函数计算) 效率云 这些丰富开箱可用的云原生工具,能帮助您降低容器化基础设施搭建、应用部署与运维、微服务治理、CI&CD流水线构建等过程中的技术门槛和人力成本,平滑、低风险地实现云原生应用开发和架构转型。