微服务开发框架就是为了实现需求而产生的,聚焦和业务逻辑关系不太大的非功能需求,提高微服务开发效率,同时更为重要的是,使用相同的服务框架,业务服务可以更容易地实现服务标准化。通常情况下,一个成熟完善的服务治理框架,基本功能层面需要包含如下几个部分。

(1)业务服务的脚手架

业务服务的脚手架是指在不考虑和其他服务通信的情况下,如何快速搭建一个业务服务。微服务架构下,需要从头快速创建微服务的场景很多,很多服务,尤其是在线服务,除了业务相关的处理逻辑之外,服务启动、服务退出、服务请求处理等流程几乎类似,至少可以针对绝大多数场景,抽象出一些通用的模式来。同时业务服务都会使用一些通用的基础组件,如日志库、配置库等,这些基础组件每个服务都会需要,因此对组件的性能、稳定性都有很高的要求。

(2)微服务通信

微服务通信包含的东西很多,如网络模型、服务发现、流量路由、负载均衡、连接池管理等。

(3)集成公司内的其他基础设施

很多公司都会有一些自研或者在开源基础上二次开发的基础设施,比如各种中间件产品、配置中心、部署平台、监控平台等,服务开发框架很重要的一个作用是和这些内部基础设施进行集成,对微服务业务人员屏蔽这些基础设施的细节。特别是一些中大型公司基础设施体系在实现上差异很大,从而很难直接使用开源的微服务开发框架,一般采用自研或者在开源基础上进行二次开发。

(4)微服务治理支持

系统经过微服务改造后,在效率、稳定性等环节都会遇到不少新的挑战,需要完善的服务治理支持,这些服务治理一般也是以微服务开发框架为支撑或者抓手的。