【摘要】近年来越来越多的企业开始实践微服务,本文分为上下两篇介绍微服务框架ServiceComb
如何帮助企业应用进行微服务化,实现快速交付,并可靠地运行在云端。上篇介绍ServiceComb
的服务管理中心设计。
近年来越来越多的企业开始实践微服务,而微服务在企业应用落地的过程,面临着微服务开发框架的选型,无论是自研还是选择第三方框架都不得不考虑的问题包括:微服务框架是否具备高可靠性,任何时间不能中断业务;微服务框架是否能够实现高速通信性能,保证业务从单体架构向微服务架构切换时,性能下降不会太多。本文从服务管理中心、通信处理两个模块来介绍华为开源微服务框架SeviceComb如何帮助企业应用快速具备高性能的通信能力以及高可靠的服务管理能力。上篇先介绍微服务的服务管理中心。
从服务注册中心到服务管理中心
1 整体介绍
![](https://forum-img.huaweicloud.com/data/attachment/forum/201804/13/105646kf0k31ssavalvbzo.png)
图1 ServiceCenter整体介绍
ServiceCenter是一个具有微服务实例注册/发现能力的微服务组件,提供一套标准的RESTful API对微服务元数据进行管理。ServiceComb的微服务注册及动态发现能力也是依赖其实现的。
除了以上描述的微服务动态发现外,ServiceCenter帮助应用具备以下能力:
- 支持微服务实例隔离管理
- 支持微服务黑白名单管理
- 支持长连接**微服务实例状态变化
- 支持OpenAPI规范微服务契约管理
- 支持微服务依赖关系管理
- 提供Web portal展示微服务管理界面
- 高可用的故障处理模型(自我保护机制)
- 高性能接口和缓存数据设计
作为微服务系统中非常重要的组件。当前可选来做微服务注册中心的组件很多,例如Zookeeper、Consul、Eureka、ETCD。然而这些服务注册中心组件的重点在于解决服务的注册和发现,也就是一个动态路由的问题。而在一个大型的微服务架构的系统中,除了这些动态路由信息外,还有一些微服务自身的元数据同样需要进行管理,所以我们定义出微服务静态元数据。通过ServiceCenter提供的接口可以很方便的检索微服务信息。
除了微服务本身信息属于静态元数据外,ServiceCenter还扩展了微服务依赖关系、黑白名单、Tag标签和契约信息等元数据,他们之间的关系如下图所示: