APP下载

Service Fabric微服务应用平台研究与应用

2020-11-28姜顽强郭志军

中国管理信息化 2020年19期
关键词:微服务

姜顽强 郭志军

[摘    要] 针对基于Visual Studio开发的业务系统微服务化改造问题,从Service Fabric微服务开发集成平台、运行部署平台、微服务治理、API Gateway等四个方面开展研究,搭建了企业Service Fabric微服务应用平台,并以某业务系统中工作流为例进行了Service Fabric微服务化改造,验证了企业Service Fabric微服务应用平台的可行。

[关键词] 微服务;Service Fabric;TFS;Ocelot;API 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微服务应用平台是Service Fabric微服务化改造的首要工作。

1      Service Fabric微服务应用平台总体架构设计

微服务应用平台的总体架构,主要是从开发集成、微服务运行容器与平台、运行时监控治理和外部渠道接入等维度来划分的[1]。企业Service Fabric微服务应用平台主要从Service Fabric微服务的开发平台、TFS自动发布平台、运行部署独立集群、服务治理中心、API Gateway等方面進行规划设计,其物理架构图如图1所示。

2       Service Fabric微服务应用平台搭建

2.1   开发集成平台搭建

Service Fabric工具是Visual Studio 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微服务开发、源代码管理及持续集成。

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应用程序运行部署平台,如图2所示。

2.3   微服务治理中心

服务治理可以说是微服务架构中最为核心和基础的模块, 它主要用来实现各个微服务实例的自动化注册与发现[3]。Consul是用于实现分布式系统的服务发现与配置,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,Consul来做服务发现能与Ocelot完美结合。

企业微服务治理中心采用3节点Server端和2节点Client端搭建Consul集群,根据项目进行Key/Value设置,实现服务注册与发现、权限统一认证和健康检查等功能。

2.4   API Gateway

API Gateway是微服务架构中的核心组件,是客户端请求的门户,是调用具体服务端的桥梁。Ocelot是一个用.NET Core实现并且开源的API网关,Service Fabric微服务应用平台采用Ocelot与Consul相结合,实现路由、请求聚合、服务发现、权限认证等功能。

3      某业务系统中工作流微服务化改造实例

选择某业务系统中的工作流(该工作流是以.NET Core为目标框架)进行Service Fabric微服务化改造,创建的SF.WorkflowAPI解决方案中包括1个Service Fabric应用程序和2个.NET Core应用程序,通过TFS实现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://www.cnblogs.com/HigginCui/p/10460807.html.

[2]Service Fabric文档[EB/OL].https://docs.azure.cn/zh-cn/service-fabric/service-fabric-get-started.

[3]Eureka服务治理体系[EB/OL].https://blog.csdn.net/weixin_38207722/article/details/103381262.

猜你喜欢

微服务
数字文化馆建设中的“微服务”
基于微服务架构的日志系统
微服务架构及相应云平台解析
基于供给侧改革理论的图书馆社交网络微服务研究
微信公众平台在医院图书馆的应用现状调查
基于微信企业号的校园移动服务
微服务视角下高职图书馆数字资源使用分析
从单一模式系统架构往微服务架构迁移转化技术研究
微媒体时代高校图书馆阅读推广微服务探析