资深架构专家讲解微服务治理的架构演进

摘要:随着业务的发展,规模扩大,服务越来越多,需要协调线上运行的各个服务,保障服务的SLA;基于服务调用的性能KPI数据进行容量管理,合理分配各服务的资源占用;对故障业务做服务降级、流量控制、流量迁移等快速恢复业务。怎样的服务治理框架能满足需求?

李林锋,资深架构专家,超过10年Java NIO通信框架、平台中间件架构设计和开发经验,开源框架Netty中国推广者。精通Netty、Mina、RPC框架、企业ESB总线、分布式服务框架、云计算等技术,《Netty权威指南》、《分布式服务框架原理与实践》作者,公司总裁技术创新奖获得者

我今天分享的主题是《微服务治理的技术演进和架构实践》

本次分享,将分为三个部分。

  1. 为什么需要服务治理

  2. 服务治理的技术演进历程

  3. 云端微服务治理框架设计

1

   

为什么需要服务治理?

1.1

   

第一、业务需求

随着业务的发展,服务越来越多,如何协调线上运行的各个服务,保障服务的 SLA,对服务架构和运维人员是一个很大的挑战。随着业务规模的不断扩大,小服务资源浪费等问题逐渐显现,需要能够基于服务调用的性能 KPI 数据进行容量管理,合理分配各个服务的资源占用,提高机器的利用率。线上业务发生故障时,需要对故障业务做服务降级、流量控制、流量迁移等,快速恢复业务。

着开发团队的不断扩大,服务的上线越来越随意,甚至发生功能相同、服务名不同的服务同时上线。上线容易下线难,为了规范服务的上线和下线,在服务发布前,需要走服务预发布流程,由架构师或者项目经理对需要上线的服务做发布审核,审核通过的才能够上线。为了满足服务线下管控、保障线上高效运行,需要有一个统一的服务治理框架对服务进行统一、有效管控,保障服务的高效、健康运行。

1.2

   

第二、技术需求

大部分服务化框架的服务属性通过 XML 配置或者 Java 注解的方式进行定义,以服务端流量控制为例:


服务发布的 XML 文件通常会打包到服务提供者的 jar 包中,部署在 Java Web 或者 Java Container 容器中,存储在服务端的本地磁盘中。


无论采用注解还是 XML 配置的方式,如果需要在运行态动态修改服务提供者的流控阈值,都需要在本地修改配置或者修改源码,重新打包部署并升级应用。无法实现在线、配置化的修改和动态生效。由于诸如流控阈值、服务的超时时间等无法预测出最优值,需要修改之后上线验证,根据服务运行效果决定是否再做调整,因此经常需要反复调整,采用修改源码-重新打包部署-应用升级的方式进行服务治理,效率低下。因此,在技术上需要一个服务治理框架,提供 Web Portal,微服务运维或者治理人员通过在线配置化的方式修改服务提供者或者消费者的属性,可以实时动态生效。

2

   

服务治理的技术演进历程

第一代服务治理 SOA Governance: 以 IBM 为首的 SOA 解决方案提供商推出的针对企业 IT 系统的服务治理框架,它主要聚焦在对企业 IT 系统中异构服务的质量管理、服务发布审批流程管理和服务建模、开发、测试以及运行的全生命周期管理。

第二代以分布式服务框架为中心的服务治理:随着电商和移动互联网的快速发展,基于电商平台的统一分布式服务框架的全新服务治理理念诞生,它聚焦于对内部同构服务的线上治理,保障线上服务的运行质量。相比于传统 IT 架构的服务治理,由于服务的开发模式、部署规模、组网类型、业务特点等差异巨大,因此服务治理的重点也从线下转移到了线上服务质量保障。

第三代以云化为核心的云端微服务治理架构:2013 年至今,随着云计算和微服务架构的发展,以 AWS 为首的基于微服务架构 云服务化的云端服务治理体系诞生,它的核心理念是服务微自治,利用云调度的弹性和敏捷,逐渐消除人工治理。微服务架构可以实现服务一定程度的自治,例如服务独立打包、独立部署、独立升级和独立扩容。通过云计算的弹性伸缩、单点故障迁移、服务健康度管理和自动容量规划等措施,结合微服务治理,逐步实现微服务的自治。

2.1

   

第一代 SOA Governance 服务治理

第一代 SOA Service GovernanceSOA Governance 的定位:面向企业 IT 系统异构服务的治理和服务生命周期管理,它治理的服务通常是 SOA 服务。传统的 SOA Governance 包含四部分内容:

  1. 服务建模:验证功能需求与业务需求,发现和评估当前服务,服务建模和性能需求,开发治理规划。

  2. 服务组装:创建服务更新计划,创建和修改服务以满足所有业务需求,根据治理策略评估服务,批准组装完成。

  3. 服务部署:确保服务的质量,措施包括功能测试、性能测试和满足度测试,批准服务部署。4.服务管理:在整个生命周期内管理和监控服务,跟踪服务注册表中的服务,根据服务质量等级协议(SLA)上报服务的性能 KPI 数据进行服务质量管理。

SOA Governance 工作原理图如下所示:


传统 SOA Governance 的主要缺点如下:

  1. 分布式服务框架的发展,内部服务框架需要统一,服务治理也需要适应新的架构,能够由表及里,对服务进行细粒度的管控。

  2. 微服务架构的发展和业务规模的扩大,导致服务规模量变引起质变,服务治理的特点和难点也随之发生变化。

  3. 缺少服务运行时动态治理能力,面对突发的流量高峰和业务冲击,传统的服务治理在响应速度、故障快速恢复等方面存在不足,无法更敏捷应对业务需求。

2.2

   

第二代分布式服务框架服务治理

分布式服务框架的服务治理定位:面向互联网业务的服务治理,聚焦在对内部采用统一服务框架服务化的业务运行态、细粒度的敏捷治理体系。

治理的对象:基于统一分布式服务框架开发的业务服务,与协议本身无关,治理的可以是 SOA 服务,也可以是基于内部服务框架私有协议开发的各种服务。

治理策略:针对互联网业务的特点,例如突发的流量高峰、网络延时、机房故障等,重点针对大规模跨机房的海量服务进行运行态治理,保障线上服务的高 SLA,满足用户的体验。常用的治理策略包括服务的限流降级、服务迁入迁出、服务动态路由和灰度发布等。

分布式服务框架典型的服务治理体系如下所示:


2.3

   

第三代云端微服务治理

随着云计算的发展,DevOps 逐渐流行起来,基础设施服务化(IaaS)为大规模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值