Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于微服务集群架构的协同服务平台设计论文

发布时间:2023-05-12 10:11:37 文章来源:SCI论文网 我要评论















SCI论文(www.lunwensci.com)
 
  摘 要:企业在数字化转型过程中, 需要在生产、研发、制造、管理等不同领域建设很多不同的业务系统, 这些系统需要 进行有效的业务协同和资源共享,以适应现代企业的管理模式和快速发展的需要。基于此,设计了基于微服务集群架构的协同 服务平台,在平台框架、微服务交互机制、服务协同等方面做了阐述,分析了微服务集群应用的优势及特点,并做出了基于微 服务集群架构下的具体规划设计。

  关键词:微服务,协同服务平台,集群,数字化,工业互联

  Design and Implementation of Microservice Cluster Based Business Collaboration Service Platform

                                                         ZHANG Baojun

                                 (China Electronics Corporation, Beijing 100036)

  【Abstract】: In the process of digital transformation, the modern enterprise must develop many application systems in the different domains such as production, research and development (R&D),manufacturing and company management etc. these different systems should work in collaborative way to share service and resource to accommodate modern company management framework and fast-paced growth. Therefore, we designed the microservice cluster based business collaboration service platform that depicts the platform framework, interaction of microservices and service collaboration mechanism etc., analyzing the specific advantage of such application based on microservice cluster, making a detailed description of architecture for designing and implementation about the platform based on microservice cluster.

  【Key words】: microservice;business collaboration service platform;cluster;digitalization;industrial interconnection

\

 
  0 引言

  在全国数字化转型的大形势下,现在很多企业、事 业单位都进行信息化工作,但由于原有系统大都是独立 建设,缺乏统一规划和设计,资源不能进行充分共享, 服务协同困难,各部门业务流程不连续,造成所谓“信 息孤岛”,再加上已有技术栈是过时的传统架构,每种 应用的体积庞大,业务复杂,难以升级换代,这已不能 适应现代企业快节奏的生产、研发、管理等各环节高度 协同的需要,也严重阻碍了新技术的升级迭代,同时面 临单点故障、难以适应高并发的业务处理能力等问题。 基于此,设计了基于微服务集群的协同服务平台,在平 台框架、微服务交互机制、服务协同、资源共享等方面做了阐述,分析了微服务集群应用的优势及特点,并做 出了具体的规划设计。

  1 数字化转型的通用需求

  在国家政策的引导下,全国各地正在全面推进数字 化转型工作。建设过程中会涉及多个职能部门,首先, 他们都有各自的信息化需求,有些需求是各部门交错重 叠,分别建设将导致同质化的模块被多次重复建设,造 成资源浪费,运维复杂,监控困难 ;其次,各部门的业 务流程往往需要互相协同,实现自动化的业务流转,快 速高效地共同完成业务协同工作 ;最后,各个业务系统 的数据经常需要互相共享,在各个业务系统间高效流 转。此外,各业务系统需求变化频繁,建设周期较长,难以在短期内快速响应变化,比如 :有些大型系统建设 周期多达数年,业务模式会随着系统的不断推广运营而 持续演进,必须有一种快速增量交付的开发和部署机制 以适应业务模式和技术的快速变化,所以需要一个在架 构上具备通用服务能力、可弹性扩展、构建灵活、可自 动部署、高可用、具备负载均衡能力,在数据存储上具 备实时数据备份、数据冗余能力的协同服务平台系统。

  为实现以上需求, 数字化转型需要统筹全局, 各部 门需求进行集中管理 ,统一设计开发,提前规划运维 运营工作,抽象出通用模块,进行统一开发和维护,最 终各部门使用同一微服务实现可利用的业务模块。在运 行期,各个业务系统进行统一调度,数据集中管理、多 副本冗余存储。传统架构要实现上述需求,技术方案会 比较困难复杂,而基于微服务集群的架构可以轻易解决 上述问题,提供极好的解决方案。

  2 基于微服务集群的协同服务平台架构设计

  2.1 协同服务平台的设计原则

  要达到服务协同、数据协同的建设要求, 协同服务 平台要能够进行企业应用集成(EAI),包括表示集成 、 控制集成和数据集成,具体说来,要实现业务应用的界 面集成、业务接口集成、应用代码集成及数据交换的能 力。业务应用的微服务要能分布式部署和远程调用,并 能进行集中式管理和监控。数据能进行实时冗余备份, 在部分数据损坏丢失情况下仍能实现高可用。这需要将 API 网关、分布式消息总线、分布式事务、分布式缓存、 开发运维一体化(DevOps)、分布式存储、系统日志、 性能监控(APM)及各业务系统的通用服务, 比如认证 鉴权、电子签名、统一门户、统一流程、主数据、统一 支付、统一消息通知、快递单跟踪、员工管理、合同管 理、打印服务、人员台账、流程服务、规则服务、业务 日志管理等形成统一后台接口供其他系统调用或通过一 致的操作界面展示在用户手机或电脑软件中,同时在数 据端利用分布式存储实现结构化数据和非结构化数据的 实时多副本、高吞吐、负载均衡、数据共享的能力,达 到高可用效果,也为后期的数据仓库、大数据计算打下 基础。

  协同服务平台应用兼容旧的单体架构, 比如 ERP、 资产系统等由于体系复杂,历史数据积累庞大,一时难 以微服务化,应具有与新的微服务系统进行服务协同和 数据共享的集成能力。

  政企类项目一般对安全有特殊要求,需要有等保三 级、三员管理、零信任等模块或适配信创环境。

  微服务系统需至少具备以下几个特征 :

  (1)具备微服务治理体系 :平台以开源系统为基础 进行设计和开发、实现运行可靠、性能出众的微服务架 构,具备服务自动发现、熔断、限流、降级等基本能 力。实现服务编排、版本发布、相互调用以及负载均衡 等跨域运行能力。同时具备服务和资源监控、调用链追 踪和系统日志等治理模块,遵从微服务的专业规范,达 到统一服务治理的目标。

  (2)建立开发运维一体化(DevOps)体系 :平台 通过实现 DevOps 工具,实现持续集成、自动测试、自 动构建、自动增量升级部署(灰度发布、蓝绿发布)能 力,达到应用设计到应用开发、测试、部署全过程的快 速构建, 提供 Web 界面来管理和配置流水线, 实现开 发运维流程的智能化和自动化,以快速实现和部署客户 频繁的需求变更,快速交付价值获取使用反馈,实现敏 捷迭代过程,并极大减轻集群运维工作量。

  (3)实现应用监控体系 :平台的微服务系统需要对 运行在集群中的各应用状态进行实时监控,这就需要能 实时采集服务状态信息、应用分布信息、资源占用情况 及微服务调用链、响应时间等信息,以可视化地方式实 时显示各应用的状态,并根据规则进行报警等操作,以 便及时处理,系统也可根据预设规则将效率低下的服务 实例或资源不足的实例自动迁移到资源更充分的环境 中,实现高效地应用健康体系。

  (4)保证系统稳定可靠运行 :协同服务平台各微服 务可对故障进行隔离,确保在个别微服务故障情况下仍 能可靠运行。在设计时基于松耦合理念,实现了业务应 用的单一职能化和独立运行,在遇到需要调试、升级或 故障等情形时只需停止直接关联的微服务实例即可,无 需关停所有业务服务,保证其他服务不会受到干扰,实 现在线升级或故障的同时业务保持高可用的目的。甚至 在采用灰度升级或蓝绿升级时,结合流量分流的方式, 可保证某一微服务新版本运行的同时,其成熟可靠的旧 版本可同时运行,在新版本充分验证后,可将旧版本全 部滚动升级至新版本,发现意外问题时,可根据需要回 滚至旧版本,这极大保证了业务的可用性和连续性。

  (5)实现数据的高可靠能力 :平台采用分布式存 储,实现数据实时备份和多副本存储,在数据层面实现 高可用、高 IO 吞吐能力,各应用系统的数据统一存储 在专用的分布式存储服务器中,由平台进行集中管理、 集中分配和回收存储空间,并自动实现数据访问的负载 均衡能力,同时具备数据访问性能及存储空间、CPU 等资源的监控和报警功能,允许一定数量的节点在失效 情况下,仍然能提供可靠的数据访问服务,保障了数据服务的随时可用能力。

  2.2 协同服务平台的架构设计

  协同服务平台架构是基于云原生的平台化架构,分 为基础设施层、基础服务层、支撑服务层、业务服务 层、网关层和接入层 6 个层次。

  平台整体架构分层解耦,整体层次结构如图 1 所示。

\

 
  (1) 基础设施层包括服务器、存储、网络等基础硬 件和安全模块等,是整个平台的运行根基,在这个层 次,要根据性能要求做好业务节点、管理节点、分布式 存储节点等子网规划和硬件选型,根据安全要求形成安 全软硬件的采购说明,进行公有云及私有云的网间通讯 机制及数据通信安全的设计,信创系统还需要采购符合 国家安全标准的专用设备等,最终形成软、硬件清单、 网络拓扑图、IP 地址规划等。

  (2)基础服务层的功能包括资源治理、集群调度、 发布系统、系统监控、镜像管理等,在运行期间监控微 服务的健康情况和对资源的动态需求,并根据调度规 则、内存、CPU 等资源情况, 将性能较低的微服务调 度到资源相对合适的节点上。

  (3)支撑服务层的功能包括服务注册发现、认证鉴 权、限流熔断、服务降级、监控和告警、集中配置中 心、其他支撑业务的使能服务,比如分布式缓存、分布 式消息总线、分布式数据库、数据平台、AI 平台等。

  (4) 业务服务层, 包括两种类型的微服务 :单一职 责的数据服务和聚合服务两类。数据服务为原子服务, 一般不可再分,否则会造成拆分过细的问题。聚合服务 将底层服务按业务逻辑进行编排整合,可随时响应需求 变化进行演进,以适应新需求。根据需要,每个微服务 都可适配各自的认证和鉴权、数据访问模式、数据库 分区等,从而保证不同微服务对性能和安全等的独特要 求。通过微服务的自动化部署,实现快速持续集成以及 实例的弹性扩展。

  (5)网关层分为内部网关、Web 网关、App 网关、 OpenAPI 网关。其中内部网关不直接向接入层开放, 用于内部不同应用微服务之间的通讯,以确保系统的安 全,要实现黑名单过滤、权限检查等功能。

  (6)接入层包括内部负载均衡和外部负载均衡,针 对外部请求实现负载均衡、流量分配或限流等功能。

  整体拓扑结构上, 考虑了双活多集群机制,服务优 先以日常运营的集群为优先调度,在该集群服务响应超 时或发生故障时,服务会自动调度到另一热备集群以保 障在任何情况下都不中断服务的能力。

\

 
  2.3 平台功能

  平台要实现服务的标准化,符合 RESTful 规范,输 出基于平台的统一规范,比如消息规范、API 规范、幂 等性规范、编码规范等,供其他系统在统一的框架下集 成和交互使用,实现统一的标准化输入和输出。

  将老的资产比如非微服务架构的 ERP、MES、人 力资源等的接口集成进 OpenAPI 网关,统一管理、鉴 权、提供相互调用的交互机制,同时还可与新开发的基 于微服务的系统无缝集成,互相调用和共享数据。将新 的微服务架构的主数据、OA、门户等集成进平台内部 注册中心,由平台进行资源管理和编排调度。

  以平台中流程服务为核心,在数字化过程中要革新 和优化业务流程,贯通跨业务、跨部门、跨系统的流程 相关业务需求。

  平台采用成熟的微服务框架 Spring Cloud 等进行 微服务的开发和维护。这些微服务开发框架基础功能完 备,比如 API 网关等各类微服务组件、分布式调用、依 赖注入、与容器结合的能力一应俱全,具备负载均衡、 动态路由、服务容错降级、请求监控、安全控制等边缘 服务。

  3 运行在容器中的微服务应用

  传统虚拟技术条件下,每台虚拟机都要安装完整操 作系统,部署应用需要安装全套调试和运行环境,非常 浪费资源。而容器是一种轻量级虚拟技术,通过调用主 机操作系统内核 API,以共享主机内核的方式工作,各 容器内部运行环境完全相互隔离,并独立于主机环境 [1]。 相较传统虚拟机,使用容器可以极大节省物理资源,启 动和停止速度更快。

  微服务是一种天然的分布式技术,常常基于集群开 发、多复本部署,导致部署、运维工作量和复杂度会大 大提高,大型集群的手工部署和运维会变得相当困难。 而容器具备高效自动发布服务的能力,可运行于不同类 型的操作系统和主机上,所以微服务应用与该技术整合 能够有效降低运维负担,提高服务运行可靠性,具备可 移植、跨平台、可自动调度和部署的优势。

  容器可对外暴露微服务接口和设定环境变量以使不 同微服务间可以进行交互,同时通过服务编排保证相互 依赖的服务之间的启动顺序。

  基于容器的应用部署后,在某一微服务实例资源不足、响应慢或发生故障的情况下,系统可自动将某一些 微服务的容器无感调度到其他资源充分的服务器上,以 保障业务的顺利进行 [2]。

  4 微服务架构的特点总结

  整个微服务架构系统包含多个微服务,各个服务相 互独立运行, 通过 Restful API、消息机制等实现轻量 级信息交互。每个微服务对外提供一个或多个接口,按 照领域驱动设计(DDD)划分,具备独立业务处理能 力,能够进行独立部署和运行。不同微服务可使用不同 编程语言及存储技术。与传统的单体架构相比,微服务 架构可轻松实现增量开发和部署,快速呈现迭代价值, 天然具有敏捷开发模式的优势。

  4.1 每个被拆分的微服务职责单一

  根据迪米特规则,微服务将系统功能细分至单一职 责的理念,封装的职责尽可能独立,其功能越简单,耦 合性越低,就越容易在后期进行独立更新和部署,这样 的服务在运行期资源占用也较小,在进行需求变更时, 可以独立开发部署该微服务而无需停止其他微服务的运 行 [3]。可以部署在物理服务器或虚拟机中,容器中的微 服务可结合 DevOps 进行自动化部署,以提高运行维护 效率。

  4.2 可同时兼容多种技术

  微服务架构技术选型较为灵活,不必采用统一技术, 可以根据业务需求、开发复杂度、性能需求等指标,不 同的微服务使用不同的技术栈来开发,对于每个微服务 都选择最高效的实现方式 [4]。

  4.3 高可扩展性、高可靠性

  微服务架构下,各服务可独立灵活调整运行实例个 数、运行资源需求,根据系统承载压力情况,整个集群 可在不停止业务的情况下弹性扩展服务器节点个数以实 现高可扩展能力。同时,故障被阻断在微服务内,不会 影响其他微服务,同一微服务的某一实例停止服务或响 应超时,请求会被自动负载均衡到其他实例上,这些容 错机制, 避免整体系统因个别服务故障而不可用,实现 高可靠和高可用性。

  5 结语

  本文介绍了协同服务平台的一种架构模式,随着数字化形式的发展和新技术的出现,协同服务平台的建设 需要持续进行优化、创新和改进,良好架构的应用系统 后期可以直接使用新技术予以升级。相较传统技术架 构,微服务结合容器技术优势明显,更适合协同服务平 台的运行特点。基于容器的微服务架构可让应用独立于

  硬件,方便了系统维护,易于扩展和管理,同时还适用 多种技术和实现方法,避免了将来扩展和多技术集成导 致的难题。根据需要,可以后期增加新的业务服务或集 成物联网等边缘计算技术,平台只需要动态扩展计算节 点,最终使全部服务在管理节点的统一调度和监控下运 行即可。

  基于微服务集群的协同服务平台,也具备多领域应 用的集成交互能力。这样可以以协同服务平台为中心, 实现不同领域应用的业务流程和数据交互,所有系统不 必同时建设,后期接入的系统可按规范随时集成进来, 比如在必要时可集成智慧城市的一网通办等功能,与已 有 RPA 系统、AI 功能等进行交互,提高城市智能化程 度,整合工业制造执行系统,实现智能制造等能力,整合 ERP 系统、财务系统、OA 系统、MES 系统等实现 物料采购与订单系统、审批系统与智能制造系统等的跨 系统跨部门业务能力等。

  参考文献

  [1] Jeff Nickoloff.Docker in Action[M].胡震,杨润表,黄帅, 译.北京:电子工业出版社,2017.

  [2] 吴龙辉.Kubernetes 实践[M].胡震,杨润表,黄帅,译.北京: 电子工业出版社,2016.

  [3] EricEvans.领域驱动设计:软件核心复杂性应对之道[M].赵 俐,盛海艳,刘霞,等,译.北京:人民邮电出版社,2016.

  [4] Sam Newman.微服务设计[M].崔力强,张俊,译.北京:人民 邮电出版社,2016.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
 

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/55951.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml