1、Service,FabricService,Fabric 微服务应用平台研究微服务应用平台研究与应用与应用 姜顽强 郭志军 摘 要 针对基于 Visual Studio 开发的业务系统微服务化改造问题,从Service Fabric 微服务开发集成平台、运行部署平台、微服务治理、API Gateway 等四个方面开展研究,搭建了企业 Service Fabric 微服务应用平台,并以某业务系统中工作流为例进行了 Service Fabric 微服务化改造,验证了企业 Service Fabric 微服务应用平台的可行。关键词 微服务;Service Fabric;TFS;Ocelot;API
2、Gateway doi:10.3969/j.issn.1673-0194.2020.19.074 中图分类号 TP315 文献标识码 A 文章编号 1673-0194(2020)19-0182-02 0 前 言 随着信息技术的发展,微服务已逐步成为复杂业务系统首选技术架构,同时许多企业正在考虑怎样将传统业务系统进行微服务化改造,实现业务系统中部分功能组件按需升级维护。微软公司 Service Fabric 的开源,无疑给早期使用Visual Studio 开发的传统 SOA 架构业务系统提供了一种可行的微服务化改造方案。因此,研究与搭建企业 Service Fabric 微服务应用平台是 Se
3、rvice Fabric 微服务化改造的首要工作。1 Service Fabric 微服务应用平台总体架构设计 微服务应用平台的总体架构,主要是从开发集成、微服务运行容器与平台、运行时监控治理和外部渠道接入等维度来划分的1。企业 Service Fabric 微服务应用平台主要从 Service Fabric 微服务的开发平台、TFS 自动发布平台、运行部署独立集群、服务治理中心、API Gateway 等方面進行规划设计,其物理架构图如图 1 所示。2 Service Fabric 微服务应用平台搭建 2.1 开发集成平台搭建 Service Fabric 工具是 Visual Studio
4、 2017 和 2019 中 Azure 开发工作负荷的一部分,“Azure Service Fabric 应用程序”和“Azure Service Fabric 部署”已分别是 Team Foundation Server 2018 生成与发布模板中的一部分,这为 Service Fabric 应用程序开发、生成与发布提供解决方案。企业 Service Fabric 微服务开发集成平台采用 Visual Studio Enterprise 2017(version 15.9)+Team Foundation Server 2018 Update 3.2,实现Service Fabric 微服
5、务开发、源代码管理及持续集成。2.2 运行部署平台搭建 Service Fabric 群集是通过网络连接在一起的一组虚拟机或物理机,可在其中部署和管理微服务。使用 Service Fabric 可在运行 Windows Server 或 Linux 的任何 VM 或计算机上创建 Service Fabric 群集2。使用 Service Fabric 安装包和 Service Fabric 运行包,修改ClusterConfig.Windows.MultiMachine.json 群集配置文件,搭建 10 节点Service Fabric 独立群集,用于 Service Fabric 应用程序
6、运行部署平台,如图 2 所示。2.3 微服务治理中心 服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现3。Consul 是用于实现分布式系统的服务发现与配置,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,Consul 来做服务发现能与 Ocelot 完美结合。企业微服务治理中心采用 3 节点 Server 端和 2 节点 Client 端搭建 Consul 集群,根据项目进行 Key/Value 设置,实现服务注册与发现、权限统一认证和健康检查等功能。2.4 API Gateway API Ga
7、teway 是微服务架构中的核心组件,是客户端请求的门户,是调用具体服务端的桥梁。Ocelot 是一个用.NET Core 实现并且开源的 API 网关,Service Fabric 微服务应用平台采用 Ocelot 与 Consul 相结合,实现路由、请求聚合、服务发现、权限认证等功能。3 某业务系统中工作流微服务化改造实例 选择某业务系统中的工作流(该工作流是以.NET Core 为目标框架)进行Service Fabric 微服务化改造,创建的 SF.WorkflowAPI 解决方案中包括 1 个Service Fabric 应用程序和 2 个.NET Core 应用程序,通过 TFS
8、实现 Service Fabric 应用程序集成,在 consul 集群中实现服务注册,通过 API Gateway 实现服务发现和权限认证。具体效果如图 3、图 4、图 5 所示。4 结 语 通过对 Service Fabric 微服务开发集成平台、运行部署平台、微服务治理、API 网关等方面的研究,初步完成 Service Fabric 微服务应用平台的搭建,经过某业务系统中工作流微服务化改造实践,验证了 Service Fabric 微服务应用平台的可行,为早期使用 Visual Studio 开发的传统 SOA 架构业务系统提供了微服务化改造方案。参照分布式应用架构技术能力要求:微服务平台和持续集成系统(CI/CD),企业 Service Fabric 微服务应用平台还需进一步补充完善微服务框架、管理平台和持续集成等功能,形成一个完整先进的微服务应用平台方案。主要参考文献 1微服务的 4 个设计原则和 19 个解决方案EB/OL.https:/ Fabric 文档EB/OL.https:/ 服务治理体系EB/OL.https:/