5G管理微服务架构

发布时间:2019-11-14 作者:孟照星 中兴通讯 阅读量 :

5G网络的运营运维要求运营商从传统的网络提供商向数字业务提供商转变。运营商传统的网络运维系统侧重于网络自身,由于采用单体应用架构,存在开发生命周期长、需求响应慢、效率低、运维难等诸多问题,难以满足5G时代新兴产业对通信网络运维敏捷化、自动化、智能化的要求。此时,互联网领域广泛应用的微服务系统引起了电信运营商和设备商的关注。

微服务是具有单一业务功能、独立部署运行、轻量级通信机制、松耦合等特性的应用程序,天然就适应快速开发、快速实施等要求。但当大量的微服务聚合在一起构成微服务系统时,也带来了新的问题,例如每个微服务的研发必然要花费大量的代码解决公共问题,如微服务互知问题、通信问题等。中兴通讯认为,只有具备“知、测、控、研”四方面特性的微服务架构,才能有效赋能5G网络,将网络能力面向最终客户的需要,快速按需转换成业务能力。

微服务架构的“知、测、控、研”

微服务架构是一种适用于在云中部署应用和服务的组件化架构模式,其本质是从单体系统转变为由大量微服务组成的分布式集群系统。它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的部署单元中,服务与服务间采用轻量级的通信机制互相沟通、协调。每个服务都围绕着具体业务进行构建,并且能够被独立部署到生产环境中,配合DevOps,能实现从快速开发到轻松部署的全生命周期流程,极大地缩减了应用的开发实施生命周期。

然而,微服务分布式系统在享受快速开发部署的好处时,也面临着如何管控数量巨大的微服务、复杂的矩阵式通信等技术问题。微服务分布式系统应该采用什么样的架构去解决这些问题?

中兴通讯认为,微服务架构可以从“知、测、控、研”四个维度去衡量。

知:主要解决微服务互知的问题。

首先要解决的是微服务互访的问题。数量巨大的微服务之间互访时,如何知道对方位置所在?动态发现服务机制能有效解决这个问题。

其次要解决的是微服务可用性问题。当微服务水平缩扩容,存在多实例时,如何确保所访问的微服务地址是真实可用的?服务的实时动态注册机制能有效解决这个问题。

最后要解决的是整体呈现问题。当需要向系统外提供服务时,外部使用者希望看到的是一个整体,我们需要API服务外部网关作为系统入口,对外屏蔽系统内部构成,提供对外发布服务的路由及认证等功能。当微服务内部之间互访时,通过API服务内部网关结合服务注册和发现也可以进一步简化微服务之间的寻址复杂度。

只有具备实时动态的服务注册及发现机制与API网关能力的架构,才能解决“知”相关问题。当微服务上线、下线、迁移、状态变化时,微服务提供的服务地址及状态在实时变化,通过动态及实时的服务注册与发现机制可以准确呈现出当前时刻的有效服务地址。API服务内外部网关和服务网格,结合服务注册和发现可以解决微服务互访寻址等问题。

测:解决的是微服务分布式系统的微服务的可观测性、可感知问题。

能否提供各种感知数据,感知的信息是否全面、是否细致、是否基于上下文,决定了是否能准确反映系统的状态。有了这些信息,才能对系统做出正确的控制调整,才能预测系统行为做出预判调整。这些信息是系统可控的基础。

控:解决的是微服务分布式系统的自适应问题。

具备闭环控制能力的系统架构,使用可测特性得到的数据,依托可控能力才能对系统做出有效调控,才能适应系统的内外部变化。

将微服务的发布规则、寻址规则、通信规则、安全规则等能力抽取下沉为基础设施,形成微服务的控制面,可有效形成微服务系统的模型驱动能力,从而为UI界面操控和自动化、智能化操控微服务系统提供支撑。

研:解决的是微服务研发的复杂度问题。

微服务的基础设施层,解决微服务系统面临的共性问题。微服务自身服务的动态发布、微服务交互寻址、微服务通信及状态的可测指标及采集、微服务通信规则的调整、微服务的安全控制等,是每个微服务所面临的共性问题,通过将共性问题的职责从每个微服务中剥离,下沉为基础设施形成核心基础架构能力,微服务的研发才能聚焦自身业务逻辑,不再考虑这些共性问题,从而提升微服务的研发效率,增强微服务的能力和质量水平。

中兴通讯微服务架构解决方案DexCloud

中兴通讯基于“知、测、控、研”推出了微服务架构解决方案DexCloud。中兴通讯的无线、有线、核心网、端到端的全网融合等各类5G运维管控系统,全面基于DexCloud微服务架构。DexCloud是微服务系统的基础设施层,从“知、测、控、研”四个方面支撑5G网络的运维管控需求。

DexCloud包含微服务总线套件MSB、微服务服务网格管控套件DexMesh、微服务研发SDK(见图1)。

MSB由API内外部访问网关组件MSB-EAGW/MSB-IAGW、服务注册和发现组件组成,提供服务寻址及路由和负载均衡控制等功能,支持TCP/UDP/HTTP等协议的路由转发和负载均衡,提供服务健康检查、DNS域名解析等服务。中兴通讯的MSB解决套件也向业内贡献了一个开源版本,是Linux基金会下由中国移动和AT&T牵头成立的ONAP开源社区的微服务架构核心组件。

DexMesh为微服务提供全面的可测可控能力。DexMesh基于ServiceMesh理论构筑,DexCloud可以在对微服务无侵入的情况下提供通信指标实时监测、微服务状态检测、端到端分布式调用跟踪等能力。DexMesh控制面完成微服务的通信规则、寻址规则、故障注入、混沌测试、灰度发布等控制。

Sidecar基于微服务部署单元进行部署,支持虚机、容器、POD等,是微服务的基础设施层,负责承载在上面的微服务通信调度、控制、指标采集等。

DexMesh-Controller负责各种规则配置,下发给微服务基础设施层Sidecar,进行具体控制。

DexMesh-Mixer负责从微服务基础设施层采集各种指标数据,并存放到Prometheus时序数据库中。

DexMesh-Auth负责微服务通信的可信证书分发,保证微服务之间交互是可信的。

DexCloud的微服务开发SDK,用于支持需要特殊控制场景的微服务研发,以及一些不适合下沉微服务基础设施的公共功能支撑。提供Java、Golang、Python、SpringBoot等开发语言或框架的支持。

作为全球领先的通信设备与服务提供商,中兴通讯立足于自身研发积累,凭借专业的运维经验和领先实力,在5G领域持续保持高投入,构筑了具备“知、测、控、研”特性的DexCloud微服务架构,在之上推出了无线、有线、核心网、端到端全网融合等5G运维管控系统,为5G网络保驾护航,帮助运营商加速实现数字化智能化运维转型。