admin 管理员组文章数量: 1184232
2024年2月5日发(作者:sqlserver认证考试)
计算机系统应用 ISSN 1003-3254, CODEN CSAOBNComputer Systems & Applications,2020,29(10):127−132 [doi: 10.15888/.007625]©中国科学院软件研究所版权所有.E-mail: ************.cn: +86-10-62661041 微服务应用系统迁移上云改造模型①马 永1, 李 明1, 曹弯弯1, 张 弛2, 王 靓2, 李 婕212(国网安徽省电力有限公司 信息通信分公司, 合肥 230061)(南京南瑞信息通信科技有限公司, 南京 210009)通讯作者: 马 永, E-mail: *****************摘 要: 针对当前电网信息通信运维系统存在硬件平台超期服役, 信息处理任务无法快速完成等问题, 本文提出一种基于Spring Could框架的微服务应用系统迁移上云改造模型, 将电网信息通信运维系统迁移至云平台, 模型针对集中式系统迁移上云后转变为分布式系统后出现的管理问题, 将系统服务全部迁入EDAS体系, 实现一键部署、弹性伸缩、灰度发布以及故障自愈. 此外, 针对系统上云过程中数据量庞大的一致性校验问题, 设计了一种基于吉布斯采样的数据一致性采样校验方法, 提高了数据一致性校验的效率, 减少了系统上云工作量. 之后通过国网安徽电力SG-I6000微服务系统上云的实际案例, 证明了系统的成功上云和可靠运行.关键词: 电力通信网; 云平台; 微服务应用系统; 迁移上云引用格式: 马永,李明,曹弯弯,张弛,王靓,李婕.微服务应用系统迁移上云改造模型.计算机系统应用,2020,29(10):127–132. /1003-3254/trofit Model of Micro Service Application System Migrating to Cloud PlatformMA Yong1, LI Ming1, CAO Wan-Wan1, ZHANG Chi2, WANG Liang2, LI Jie212(Information and Telecommunication Branch, State Grid Anhui Electric Power Co. Ltd., Hefei 230061, China)(Nari Group Corporation Information & Communication Technology Co. Ltd., Nanjing 210009, China)Abstract: Aiming at the problems that the current power grid information communication operation and maintenancesystem has hardware platform out-of-date service and information processing tasks cannot be completed quickly, thisstudy proposes a migration model of micro service application system based on Spring Could to the cloud. This modelmigrates the power grid information communication operation and maintenance system to a cloud platform. In response tothe management problems that occurred after the centralized system was migrated to the cloud and transformed into adistributed system, all system services were moved into the EDAS system to achieve one-click deployment, elasticscaling, grayscale release, and fault self-healing. In addition, a data consistency sampling verification method based onGibbs sampling is designed to solve the problem of consistency check of huge amount of data in the cloud process. Thismethod improves the efficiency of data consistency verification and reduces the cloud workload on the ards, this article proves the system’s successful cloud deployment and reliable operation through the actual case ofthe cloud of the State Grid Anhui Electric Power SG-I6000 microservice words: power communication network; cloud platform; micro service application system; migration to the cloud 电网信息通信运维系统是支撑电网安全稳定运行的基础性资源, 是电力系统的重要组成部分[1,2]. 随着电① 基金项目: 国网安徽省电力有限公司项目(SG-I6000)Foundation item: Project of State Grid Anhui Electric Power Co. Ltd. (SG-I6000)收稿时间: 2020-03-10; 修改时间: 2020-04-10; 采用时间: 2020-04-14; csa在线出版时间: 2020-09-30System Construction 系统建设 127网安全生产的可靠性要求不断提高, 现有系统保障系统安全稳定运行的难度也显著增加, 当前运维系统也
计算机系统应用2020 年 第 29 卷 第 10 期存在了硬件平台超期服役, 性能难以应对越来越繁重的信息处理任务等问题[3,4]. 因此利用新兴技术对现有系统进行升级改造十分有必要.目前云计算已经是一种相当成熟稳定的技术[5,6],云平台具有业务上线快、运维高度自动化、高可靠性、功能丰富、低成本等优点, 已经被广泛应用于信息运维系统的构建和改造. 因此, 将电网信息通信运维系统迁移至云平台是安全可靠且经济实惠的最优方案,该方案也得到了许多行业的应用证明, 例如利用政务云平台实现的政务信息系统上云[7,8]和利用阿里云平台实现的企业信息系统上云[9,10]等. 但是系统上云后,应用服务从集中式应用转化为分布式系统, 分布式架构中会存在系统各部分之间的可靠调用问题, 这会阻碍系统上云后的稳定运行[11].因此, 本文针对集中式系统迁移上云后转变为分布式系统的管理问题, 提出一种基于SpringCould框架的微服务应用系统迁移上云改造模型, 将系统服务全部迁入企业级分布式应用服务(Enterprise DistributedApplication Service, EDAS)体系, 使系统能够充分利用EDAS的应用部署管控能力和微服务治理能力, 实现一键部署、弹性伸缩、灰度发布以及故障自愈. 并针对系统上云过程中数据量庞大的一致性校验问题,设计了一种基于吉布斯采样的数据一致性采样校验方法, 提高了数据一致性校验的效率, 减少了系统上云工作量.1 系统检测1.1 SpringCould框架Spring Cloud是基于Spring Boot框架的一系列微服务解决方案的有序集成[12]. 它将市面上各家公司开发的比较成熟的服务框架进行集合, 再利用SpringBoot的开发风格进行再封装, 开发者无需再去了解各个服务框架的配置和实现原理, 只需按照Spring Cloud所给出的分布式系统开发工具包就可以实现分布式系统基础设施的开发, 简化了代码量和工作量, 这也是本模型选取该框架的原因.Spring Cloud可以实现微服务开发所需要的分布式/版本化设置, 分布式消息传递, 服务的注册和发现,服务之间的调用, 负载均衡, 集群状态管理, 智能路由和断路器等功能[13], 其组件架构如图1所示.128 系统建设 System Construction移动ZipKin设备Eureka服务用户Sleuth移动设备Zuu1服务管理代理...1Felin员(Eureka服务 n客户App客户)配置配置中心仓库监控 hystrixWebhook云总线仪表板, 涡轮 图1 微服务框架 1.2 EDAS体系企业级分布式应用服务是一个以阿里中间件团队的多个组件产品为核心基础组建的应用托管和微服务管理的PaaS平台[14]. 它利用阿里云现有的各种资源和服务, 引用整套分布式计算框架, 提供应用的开发、部署、运行、监控和维护等全栈式解决方案, 同时, 它支持SpringCloud在内的三大主流微服务运行框架, 可以帮助企业级用户实现各种云计算解决方案和应用上云.将系统服务全部迁入EDAS体系可以使系统充分利用EDAS的应用部署管控能力和微服务治理能力,实现一键部署、弹性伸缩、灰度发布以及故障自愈等功能. 同时, 通过服务接口可视化, 服务综合治理和配置推送集中管理, EDAS十分适合作为分布式应用服务的解决方案.1.3 吉布斯采样法吉布斯采样法(Gibbs sampling)是马尔可夫链与蒙特卡洛算法(Markov Chain Monte Carlo, MCMC)中的一种, 不同于均匀分布采样和离散分布采样, 它能够在无法直接采样的情况下从多变量概率分布中抽取近似于其分布的随机样本序列.由平稳马尔可夫过程的结论可知, 只要马尔科夫链收敛, 第n次的抽样概率p(xn)一定会收敛到预期分布p(x); 如果非周期马尔科夫链的状态转移矩阵P和概率分布π(x)对于所有的i, j满足:π(i)P(i,j)=π(j)P(j,i)(1)则称概率分布π(x)是状态转移矩阵P的平稳分布. 因此构造一个转移矩阵为P的马尔科夫链, 那么从任一初始状态x0出发沿马尔科夫链转移, 如果马尔科夫链在
2020 年 第 29 卷 第 10 期计算机系统应用第n步已收敛, 则达到了平稳状态, 以后的样本必然都满足p(x)分布, 都可以用于生成待模拟分布的样本[15].为了使细致平稳条件成立, MCMC算法的最终转移矩阵P为:P(i,j)=Q(i,j)α(i,j)(2)目标矩阵P可以通过任意马尔科夫链状态转移矩阵Q乘以α(i,j)得到, α(i,j)为接受率, 其取值区间为[0,1]. 但在高维的情况下, α会导致算法效率不高, 因此需要一个转移矩阵Q使得α=1. 在数据为二维时, 假设概率分布p(x,y), 平面上存在x坐标相同的两个点A(x1,y1),B(x1,y2), 则吉布斯采样法按照式(3)~式(5)构造两点之间的转移概率矩阵Q[15].Q(A→B)=p(yB|x1),ifxA=xB=x1(3)Q(A→C)=p(xC|y1),ifyA=yC=y1(4)Q(A→D)=0,others(5)2 迁移上云改造模型2.1 模型建立微服务应用系统框架主要包括服务注册、统一配置服务、服务网关和微服务4大模块, 需要将SpringCloud框架中的模块适配改造为EDAS体系中对应组件,所提出的微服务应用系统迁移改造模型如图2所示. Springcloud 框架迁分布式应用服务 EDAS 体系服务注册发现移服务注册发现Netfilx eurekaANS统一配置服务Config server统一配置服务应用ACM应用微服全链服务网关服务网关 Netflix部署务治路监Netflix ZuulZuul (兼容适配)管控理控ARMS微服务微服务 SpringbootSpringboot(兼容适配) 图2 微服务迁移改造模型 SpringCloud架构中服务注册发现模块NetflixEureka和统一配置服务模块Config Server迁移至EDAS后需进行改造, 而由于EDAS体系兼容适配SpringCloud框架中服务网关和微服务所使用的Netflix Zuul和Springboot模块, 因此这两个模块只需要根据微服务应用的实际情况, 迁移至EDAS中对应的模块即可.EDAS中微服务模块并没有直接部署在云主机ECS (Elastic Compute Service)上, 而是部署于容器服务K8S集群上. 迁移后的微服务模块包含工具应用层和平台组件服务层两个层. 工具应用层由调运检运维管理类微应用、自动化作业类微应用和个性化自建微应用构成, 平台组件服务层由资源配置服务、资源检测服务、作业管理服务等各种平台所需的服务构成,如 图3所示.EDAS 微服务 Springboot 框架工具调运检运维个性化自建自动化作业应用层管理类微应用微应用类微应用服平资源配置服务资源监测服务作业管理服务场景编排服务务台工具仓库服务运维流程服务权限管理服务运维可视化服务层组件日志管理服务运维审计服务容器服务 (K8S) 集群ECS (Elastic Compute Service) 集群 图3 EDAS微服务Springboot框架在EDAS中, 设有专门的应用部署管控模块和微服务治理模块, 它们负责对迁移的4个模块进行治理和管控, 并和迁移的4个组件均受到业务实时监控服务(ARMS)的统一监控.2.2 模型适配改造EDAS体系虽然兼容SpringCloud框架, 但是两者在实际应用中存在着些许不同, 需要对服务注册发现模块和微服务模块进行适配性改造, 使其对接EDAS体系中对应组件, 能够融入EDAS生命周期管理和应用监控体系, 实现应用的全链路监控.2.2.1 服务注册发现模块适配改造服务注册发现模块Netflix Eureka, 需适配改造使用ANS (Alibaba Naming Service)组件. ANS支持Spring Cloud应用的服务注册与发现, 同时默认集成了负载均衡组件Ribbon, Eureka用户可以通过替换maven项目中文件中的依赖实现无缝迁移.服务注册模块需要服务提供者与服务消费者, 服务提供者适配改造之后使用ANS进行服务注册发现的算法如算法1所示.算法1. ANS服务提供者算法1) 创建SpringCloud工程service-provider, 在中引入需要的依赖内容;2) 编码服务提供端的启动类(利用@Enable DiscoveryClient注解表明此应用需开启服务注册与发现功能);3) 提供服务;4) 配置阿里云账号的AccessKey、SecretKey, 以及EDAS的命名空间信息;5) 启动service-provider服务, 在EDAS页面查看服务注册信息.System Construction 系统建设 129
计算机系统应用2020 年 第 29 卷 第 10 期服务消费者适配改造之后使用ANS进行服务注册发现的算法如算法2所示. 其中RestTemplate、AsyncRestTemplate和FeignClient为实际服务调用中最常使用的3个客户端.算法2. ANS服务消费者算法1) 创建SpringCloud工程service-consumer, 在中引入需要的依赖内容;2) 配置RestTemplate、AsyncRestTemplate和Feign Client;3) 创建Controller, 验证服务发现功能;4) 添加应用基本配置和阿里云AK、SK以及EDAS的namespace;5) 启动服务, 查看EDAS控制台, 查询服务, 查看服务注册是否成功.2.2.2 统一配置服务模块适配改造统一配置服务模块Config Server迁移之后改造适配使用EDAS的应用配置管理ACM (ApplicationConfiguration Management)组件. 适配改造后, 统一配置服务组件由服务端、客户端和控制台组成, 其中控制台由管理员进行使用, 发布各种配置管理命令, 其管理模式如图4所示. ACM 控制台管理员ACM后端服务器集群配置配置ACM 客户端ACM 客户端应用1应用2 图4 ACM配置管理管理员只需在控制台上进行配置更改, 更改之后的配置信息就可以快速自动被推送到ACM后端的服务器集群中, 并在秒级延迟内在各个ACM客户端的应用中生效. 利用ACM可以在微服务中极大减轻配置管理的工作量, 同时增强配置管理的服务能力.适配改造完成后, 系统各模块均纳入EDAS的应用部署管控中, 充分利用EDAS的应用生命周期管理和微服务治理机制, 实现云上应用的一键部署、弹性伸缩、灰度发布以及故障自愈等功能.130 系统建设 System Construction2.3 模型检验当完成系统上云之后, 为了保证系统数据的完整性和正确性, 需要对数据进行一致性检验, 虽然可以利用数据库迁移工具在迁移任务结束后进行数据校验,但由于系统数据量过大或会遇到增量迁移的情况, 对全部迁移数据进行校验会使工作总量十分巨大, 因此需要对数据进行采样, 通过采样数据的校验结果判断迁移数据的正确性. 由于迁移数据为多维数据, 且数据之间存在关联, 数据的期望和样本概率也很难计算, 本文采用吉布斯采样方法对迁移数据进行采样, 再对采样数据进行一致性校验.假设源数据库中的迁移数据为X={X1,X2,···,Xm},Xi={xi1,xi2,···,xin}, 迁移完成后云上的数据为Y={Y1,Y2,···,Ym}, Yi={Yi1,Yi2,···,Yin}, 伪代码如算法3所示.算法3. 数据采样校验算法1) 对于源数据集X随机选择维度i(i=1,···,m).2) for t=1, ···, T for j=1, ···, n X(t+1)∼p(Xj|X(t+1)+1)(t)(t)j1,···,X(tj−1,Xj+1,···,Xm) 循环采样得到采样数据集A={a1,···,anum}, 完成源数据集采样.3) 在Y中选取与采样数据集A所对应的采样数据集B={b1,···,bnum},完成云上数据集采样.4) flag=1 for i=1, ···, num if ai
版权声明:本文标题:微服务应用系统迁移上云改造模型 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1707085684a509184.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
树莓派5的无线网卡:Raspbian系统下的优化设置
最近发现无线USB网卡很多,但它的几个概念搞得很不清楚,今天终于搞明白了。 其实无线USB网卡,有以下功能: 1. 作为无线网卡,USB接口。无线网卡的功能就是能连接到外部wifi,上网。 2. 作为无线网卡,
双系统启动困难?跟着NTBootAutofix修复指南走
简介:NTBootAutofix是一款能够解决双系统引导问题的工具,如Windows XP和Windows 7共存时的启动菜单损坏、引导项丢失等。该工具提供了自动修复、备份恢复、手动修复、清理优化和广泛兼容性等功能。用户需要选择合适的
Ubuntu 9.10中,摆脱QQ频繁自动关闭的困扰
[align=center][img]转载:作者:tianwanjun8680.blog.163.comQQ每次打开聊天 窗口,和别人聊天时,点击历史或者传输文件和图片时,或者正和别人聊天QQ就自动关闭了,搞得老
Ubuntu系统QQ频繁断线?一文教你快速修复方法!
每次开机启动电脑,Ubuntu 10 linux qq 老是自动退出,QQ登陆了还没几分钟呢,刚想聊几句天的,悄无声息的QQ自动关闭了。 只要修改一下qq配置文件(usrbinqq)就可以了。 具体如下。
高效提升桥接稳定性:应对无线路由器掉线
半年前用两个tplink无线路由器搭建了一个桥接的网络,但是二级路由器总是断线需要重启。经过大半年的摸索,偶然间解决了问题,在这里共享给为同样问题困扰的朋友。我的配置是tp 742做主路由器,连接联通的光纤。t
如何利用192.168.1.1优化你的家庭网络体验
虽然前面小编也发布过关于的相关信息,但是都是解释相关的问题的,没有好好介绍关于的信息,今天小编星期八就给大家介绍一下的详细信息! 是什么? 192.168.0.1属于IP地址的
192.168.0.1隐藏的路由器入口,教你快速进入并优化网络!
有不少的用户在反馈,说在的时候,登录入口打不开找不到,从而无法对进行设置,问我应该怎么办? 根据鸿哥的经验来看,出现无法打开的登录入口问题,绝大数情况下是用户自己操作有误引起的,极少数情况
一文详解:轻松进入192.168.1.1路由器控制台
快速体验打开 输入框输入如下内容 帮我开发一个路由器登录页面模拟系统,用于展示常见路由器的管理界面登录流程。系统交互细节:1.输入正确IP地址跳转登录页 2.输入错误地址提示更正 3.忘记密码时显示重置指
Dism++上手指南:从新手到高手,轻松驾驭Windows优化
Dism++终极指南:免费高效的Windows系统优化解决方案 Dism++是一款功能强大的Windows系统优化工具,通过Dism-Multi-language项目提供全面的多语言支持,让全球用户都能以母语轻松使用其强大的系
Dism助力:快速上手实现Flash Player无缝安装与更新
相关文章推荐:Windows ADK 下载地址: 命令示例:Gimagex图形化演示:以下命令由DISMGUI生成,原汁原味1.首次备份镜像【Captu
让Dism++帮您驾驭Windows系统,轻松优化
简介:Dism++是一款先进的系统维护工具,专注于清理电脑垃圾、释放内存,提供全面的系统优化解决方案。最新版本Dism++10.1.1000.100_2d2bf466baca088c4b35248f5a7316f4e00cac0b特别
Dism++:让你的电脑焕然一新,快速提升性能,告别延迟!
无需全家桶,不占内存,5MB的绿色工具让你的Windows流畅如新!在Windows系统长期使用过程中,系统臃肿、运行卡顿、C盘爆满等问题困扰着绝大多数用户。面对这些痛点,很多人的第一反应是重装系统,但今天我将介绍一款更
一招搞定电脑卡顿?Dism++优化技巧大公开
1.系统文件清理 虽然dism的文件清理比较弱,但相对于其他清理工具来说,清理系统垃圾文件功能比较丰富,选择软件的空间回收栏目,勾选所有的清理功能,点击扫描,稍等片刻,即可扫描出不需要的文件,点击清理即可。 其中需要注
0x800736cc让你头疼?用DISM让你的Windows更新畅通无阻
在server 2012系统上安装IIS时报了一个错误,错误代码为0x800736cc,查了一下官方社区发现这个问题是系统被一些优化工具优化时或者一些其他操作造成了系统文件损坏,造成系统不能安装更新(安装IIS也是一个系统安装更新的过
Dism++x64全面解析:告别臃肿系统,C盘焕发新生的全面优化方案
一、 为什么技术人都要用 Dism++? 在 Windows 运维和优化领域, Dism++被称为“全球第一款基于 CBS 的 Dism GUI 实现”。 对于普通用户,这可能听起来很拗口。简单
深度解析Dism++:打造Windows的私人优化专家
Dism++终极指南:免费高效的Windows系统优化解决方案 Dism++是一款功能强大的Windows系统优化工具,通过Dism-Multi-language项目提供全面的多语言支持,让全球用户都能以母语轻松使用其强大的系
Windows备份不求人:自助指南助你一臂之力
win系统环境搭建(十五)——如何将Windows系统备份 1.为什么要做备份?windows蓝屏警告!!!
Linux备份与恢复必修课:SWF文件安全策略从入门到精通
在linux工作,系统备份是很有必要的,养成系统备份的好习惯会提高你的工作效率。下面我就简单的说一下:1.备份系统首先成为root用户:sudo su然后进入文件系统的根目录
Linux系统安全小贴士:掌握备份与恢复,安心每一天
系统备份linux秉承一切皆文件的思想,系统备份就相当于把整个(根目录)所有文件打包压缩保存。 备份前先切换到root用户,避免权限问题,然后切换到(根目录)。 tar -cvpzf mediaDisk
Ubuntu系统维护秘籍:备份步骤详解,保护你的劳动成果!
记录ubuntu的系统备份方法: 测试平台:ubuntu16.04,已安装nvidia384 cuda opencv protobuf等等运算库。使用ubuntu时经常需要重新安装电脑,和windows不一样的
发表评论