[发明专利]基于微服务架构的应用管理方法有效
申请号: | 202010692349.1 | 申请日: | 2020-07-17 |
公开(公告)号: | CN112000448B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 潘艳红;王泊涵;孙渊博;张宁雨;葛光富 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F8/60;G06F9/50 |
代理公司: | 深圳紫晴专利代理事务所(普通合伙) 44646 | 代理人: | 林鹏 |
地址: | 100089 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 微服 架构 应用 管理 方法 | ||
1.基于微服务架构的应用管理方法,其特征在于,包括面向战术应用的微服务技术架构设计、轻量化的微服务运行支撑环境构建、面向战术环境的微服务可靠管理技术和信息服务全过程动态运维,具体如下:
面向战术应用的微服务技术架构设计:包括超融合资源层、微服务环境支撑层、微服务管理调度层、战术级业务服务层和接入层,超融合资源层指底层构建微服务的车载硬件平台和虚拟化资源池,是提供微服务环境的物理支撑,虚拟化资源池包括计算资源池、存储资源池、网络资源池,微服务支撑环境层构建了微服务框架的运行时系统,是支撑微服务运行的框架,包括消息总线、微服务网关、微服务注册发现、认证授权支撑组件,并由配置中心进行集中管理,微服务管理调度层用于构建支持恶劣战场环境下的高可靠微服务集群,具体包括微服务高可用、微服务熔断、微服务负载均衡、微服务调用追踪、微服务部署管理、微服务监控告警、微服务后台服务管理,业务服务层提供了基于微服务框架的丰富战术级应用,应用以微服务解耦模式部署,通过数据库服务、认证服务多单元基础服务的聚合,形成对外提供完整服务的战术级应用业务系统,接入层是用户访问微服务应用的接口层,接入层部署了负载均衡和接入网关组件;
轻量化的微服务运行支撑环境构建:在微服务技术架构基础上,基于SpringCloud构建轻量级微服务运行时支撑环境,包括微服务消息总线、微服务网关代理、微服务注册与发现和微服务认证授权,由微服务配置中心进行统一管控,服务消息总线通过建立多个应用之间的通信频道,管理和传播应用间的消息,实现多个微服务之间的同步配置和更新,微服务网关代理实现代理和过滤功能,消息总线和网关实现应用之间的关系解耦,微服务注册与发现实现微服务的动态构建,微服务认证授权提供用户访问微服务的统一认证接口,构建适应于机动战术云的微服务系统,各运行时组件配置和流程说明如下:
1接入访问请求统一通过API网关代理来访问内部服务;
2网关接收到请求后,从注册中心获取可用服务;
3获取可用服务,分发到后端具体实例;
4微服务之间通过消息总线进行通信处理业务;
5统一认证和访问控制作为微服务重要模块,也以微服务的形式部署;
面向战术环境的微服务可靠管理技术:面向陆军战术环境服务可靠管理的需求,在微服务运行支撑环境之上,研究战场环境下的微服务可靠管理技术,具体包括微服务高可用、微服务熔断、微服务负载均衡、微服务调用追踪,从而在机动性强、实时性高的陆军机动作战环境下,提升应用服务的快速响应、稳定可靠运行的能力,微服务高可用管理,通过配置多服务注册中心副本、服务自愈、服务缓存实现战术应用的高可用,面向微服务容错保护的服务熔断,设计面向微服务的容错保护服务,用户隔离访问远程服务,防止级联失败,实现断路器、线程隔离、信号隔离容错功能,能够在一个、或多个依赖同时出现问题时保证系统依然可用,防止雪崩效应,面向微服务的客户端负载均衡,感知弹性伸缩发生后后端实例的状态变化,并将最新的后端信息更新至负载均衡器,进而实现应用服务的弹性负载均衡,微服务调用链追踪技术,构建针对微服务全生命周期的监控,增强微服务的运维管理和性能优化能力,具体如下:
1网关从注册中心获取服务后,通过客户端负载均衡,分发到后端具体实例,从而保障战场资源的运行效率;
2访问的微服务网关、微服务实例多副本部署,具有高可用;同时还具有访问缓存、自愈功能保障故障时的临时访问;
3战场环境下出现微服务故障时,由网关代理执行容错保护,以服务降级响应形式返回客户端;
4用户的微服务访问路径、微服务之间的消息总线通信,设置监控和追踪组件,实现微服务调用链的追踪;
信息服务全过程动态运维:包括应用业务逻辑感知的快速系统开设机制、基于微服务视图的轻量化数据加载技术、基于多服务实例同步的信息共享机制和战场环境感知的微服务链动态重组技术,具体如下:
应用业务逻辑感知的快速系统开设机制:对应用进行解构,明晰其业务组件:微服务,通过对业务逻辑、组件架构及功能差异的分析,明确其微服务构成,对于微服务的执行,以一个或多个虚拟机或容器的形式来完成其功能,并满足一定的业务需求即应用的负载,此外,也据此分析出应用的总体资源需求和数据依赖,基于应用的微服务化过程,明确系统开设所需要的基本微服务,结合各微服务实例的分布情况,自动实现微服务链的推荐、选取,从而完成系统开设,微服务链的选择过程包括:微服务实例的描述、应用微服务链生成、微服务链的评估与确定,微服务实例描述:定义s=(pos,ra,o,e)为单个微服务实例,采用4个属性进行描述;其中,pos表示该服务实例所在的位置,包括云、端设备;ra表示该服务实例的输出输入数据比,即ra=amountoutput/amountinput,表明该微服务产生的数据传输时延开销;o表示该服务实例处理单位数据所花费的时间;e表示该服务的有效性(0/1),即是否可用,此外,用mEN(s)表示微服务实例s所在的节点所能具有的微服务实例数量上限,pEN(s)表示微服务实例s所在的节点当前具有的服务数量,应用微服务链生成;令SG=S,E,s0表示生成的微服务链,s0表示微服务链的源节点,即发起应用请求的位置,当s0调用该应用服务时,将根据此组合服务的某条组件功能链,记为P,生成相应的SG,S表示P中涉及的功能组件的所有服务实例构成的集合;E表示S中微服务实例之间有向边的集合;
基于微服务视图的轻量化数据加载技术:微服务架构下,每个微服务根据自己的业务特征,自由选择适用的数据库,而无需采用完全一致的数据库;时序数据库对于实时数据的预处理更加有效,因此,每个微服务根据业务的功能和非功能性需求,生成独立的微服务视图,并据此从综合数据存储中加载所需的数据,从而完成数据加载过程,微服务根据自己的需要生成数据加载规则,微服务加载过程包含的主要流程有系统启动流程、全量数据加载流程和增量数据加载流程,系统启动流程就是各微服务的启动,启动顺序应该是首先启动数据库读取组件,然后启动域内控制器,最后在需要加载数据时启动数据加载服务器,系统启动时微服务数据库读取组件通过配置文件,首先建立与数据库之间的连接,域内控制器启动后连接微服务数据库读取组件,获取微服务数据库基本信息:数据表名、数据列名、数据规模,域内控制器将数据库基本信息提供给客户端;根据微服务数据库基本信息,生成加载规则:需要加载数据表名、数据列名,将加载规则发送给域内控制器,域内控制器将加载规则分发给各微服务;每个微服务的数据库读取任务,分别批量加载数据并上传读取结果;
基于多服务实例同步的信息共享机制:信息共享是战场环境下的重要应用服务,微服务架构下,信息的逻辑载体为微服务实例,而其物理载体为虚拟机或容器,由于各微服务实例基于自身业务特征选用了不用的数据库;因此,跨库的数据共享会带来较大的数据模式转换开销,据此,拟采用基于信息目录的机制完成数据共享过程,为实现对多个微服务实例间的高效共享,满足对战场实时变化的需求,建立微服务信息目录收集、存储、链接关联多个微服务,实现各类微服务能够按需提供和访问各类数据,在信息目录中快速搜索和管理微服务资源,并通过订阅微服务主题,实现微服务资源的按需主动推送,达到对微服务资源的高效共享,其次,是需要实现微服务的状态监控,在多个微服务工作的各个阶段,采用具体的监控进程:Linux系统脚本和开发的监听工具,进行作业,使各阶段的服务依序启动、依序监听、依序关闭,严格处理好各应用服务之间的依赖关系,当服务开启时自动按顺序启动底层服务和应用进程,为了做到多服务的自维护与管理,添加了服务监听进程,定期检测各个服务的运行状态以及系统维护信号,当检测到某个服务意外关闭时便发通知给管理员并尝试重新启动该服务,当检测到服务需要关闭或重启时,在关机/重启前,安全关闭相关进程与服务,确保系统数据的完整性,为了实现自动待机,管理多服务互关联的管理问题,需要解决如何自启动数据库并成功挂载;如何安全关闭数据库;如何自启动及安全关闭统一认证服务;如何实现服务启动与关闭的依序进行;如何实现服务监听进程并定期自检,在传统微服务链的组合模式,通常多个微服务,各自独立执行服务任务,多微服务之间不存在服务链的动态共享机制,而系统监控只对各自独立的微服务进行配置管理;为了适应微服务资源动态重组需求,建立虚拟微服务监控管理池,集中监控管理所有微服务活动状态把以单个微服务为对象的资源调配模式扩大为以全局服务链为对象的服务链动态重组模式,自动对虚拟微服务资源池内的多个微服务进行调控,完成服务链重组、参数配置和自动化运行工作;
战场环境感知的微服务链动态重组技术:随着战场环境和网络拓扑条件的快速变化,原有微服务链的执行会由于通信失效、端节点失效原因无法高效完成应用;因此,有必要针对战场动态环境信息,进行微服务链服务质量监控并进行主动的微服务链动态重组,保障应用的服务质量,基于微服务的应用有多种微服务链实现方式,但是多数微服务所需的网络功能之间都存在依赖关系,防火墙要部署在微服务链的入口和出口处,从而保证微服务的安全要求,因此我们假设在微服务到达后,经过业务编排器分析得到的微服务链是固定的,接下来只需要通过对设计好的微服务链进行资源动态重组,假设底层网络中有N个虚拟机,对微服务器上部署的实例的类型进行存储、计算物理资源的调整,大大提高这些物理资源的利用效率,减少资源浪费;资源动态重组问题本质上是一个优化问题,为微服务链进行实例资源调度的目的是提高资源利用率,同时不对微服务完成时间产生较大的影响,因此将微服务完成时间和稳定性共同作为优化目标,而其中微服务完成时间是最重要的优化目标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010692349.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网站访客行为习惯评估方法及系统
- 下一篇:一种提高凹版使用寿命的电镀新工艺