基于Spring Cloud微服务架构的私有云管理系统的设计与实现

DOI:10.19551/jki.issn1672-9129.2021.03.058
基于Spring Cloud微服务架构的私有云管理系统的设计与实现吴铭程㊀顾芒芒(中移(苏州)软件技术有限公司㊀江苏㊀苏州㊀215153)
摘要:随着互联网㊁云计算技术的快速发展,越来越多的企业开始建设私有云管理系统,统一运营管控云主机㊁物理机等IaaS 层资源㊂本文引入Spring Cloud微服务架构对系统进行总体架构设计㊁拆分微服务,最后使用Kubernetes容器化方式部署各微服务实现系统的高可用性㊂
关键词:私有云;微服务架构;Spring Cloud;Kubernetes
中图分类号:TP311.52㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1672-9129(2021)03-0057-01
㊀㊀引言:私有云是为企业客户独占云计算资源而构建的,私有云管理系统是为了实现资源自助服务而建设的系统,帮助企业快速建设业务系统提供保障㊂
在早期的系统开发中,一般都采用单体架构模式[1]㊂初创企业一般会选择此模式进行系统的快速开发,抢占市场㊂等到规模扩大后,常常会因为修改一个小问题而引发更大的问题㊂
因此,通过微服务架构[2]将臃肿的单体系统以业务为中心拆分成功能单一的微服务,独立运行㊂本文以Spring Cloud微服务架构设计私有云管理系统,拆分微服务,通过Kubernetes进行容器化部署[3]㊂
1㊀Spring Cloud微服务框架
微服务是相互独立的个体,可以独立开发,通过轻量级交互机制通信,占用独立进程,可独立伸缩扩展㊂微服务架构具有耦合度低㊁组件化㊁服务化等优势应用于广大互联网行业中㊂
Spring Cloud是基于Spring Boot推出的一系列框架㊁组件的有序集合,提供API网关㊁服务注册㊁熔断降级㊁配置中心㊁声明式服务调用㊁负载均衡等成熟组件,形成完善的微服务治理能力㊂本文介绍的私有云管理系统使用以上组件进行研发,其微服务治理基础架构图如图1-1所示㊂
1.1API网关和配置中心㊂API网关接收外部请求,通过路由转发到微服务,屏蔽了微服务的具体实现㊂同时,路由转发前可配置过滤器实现请求的认证㊁鉴权等拦截,保障系统的安全性㊂
本文使用的网关是Spring Cloud Gateway,是基于Web-Flux框架㊁Spring5.0㊁Spring Boot2.0和Project Reactor[4]等
技术开发实现的,为微服务架构提供一种简单有效的API路由管理方式㊂
合肥师范学院学报配置中心是配置的统一管理,注册中心是服务连接方式的统一管理㊂本文使用的配置中心和注册中心是Spring Cloud Alibaba Nacos㊂Nacos支持动态配置管理,通过对微服务的实时健康检查,保证系统的稳定性,提供友好的界面进行配置变更㊂
1.2声明式服务调用和负载均衡㊂声明式服务调用用于微服务间调用,通过声明式的方式与控制器接口定义保持一致,简单有效的完成对接㊂
本文使用Spring Cloud OpenFeign,集成Ribbon实现负载均衡功能,通过轮询算法进行负载均衡选取实例㊂
空气干燥
谌容1.3熔断降级㊂熔断降级用于在微服务调用链中设置断路器㊁限流㊁降级等功能来减少服务雪崩效应[5],保证服务间的稳定性㊂常见的处理方案包括:降级:当服务器压力增加,为保证核心功能的可用性,选择性的降低一些功能的可用性;熔断:第三方接口出现故障而断绝和外部接口的关系;限流:只允许放通部分请求㊂
本文使用的熔断是Spring Cloud Alibaba Sentinel㊂Senti-nel采用信号量隔离,滑动窗口算法实现熔断,提供控制台进
行流控规则的统一配置㊂
2㊀系统设计与实现
本文系统架构包括接入展示层㊁访问控制层㊁业务逻辑层㊁数据传输层和基础设施层㊂
接入展示层:负责系统的门户展示和用户交互;
访问控制层:提供统一的API网关㊁认证㊁配置㊁路由转发;
业务逻辑层:提供微服务具体业务逻辑实现,主要包含虚拟机㊁网络㊁存储等资源类微服务和用户管理㊁工单管理㊁订单管理等平台类微服务组成;
数据传输层:提供多种数据处理方式,包括Redis缓存㊁MQ消息㊁MySQL数据持久化,ES日志数据存储等;
基础设施层:提供计算㊁存储㊁网络的硬件设备,用来部署虚拟化资源池㊂干部学习网
系统的采用Spring Cloud的微服务架构进行开发,基于Spring Boot进行微服务构建㊂
表面活性剂论文
东北大学校长活捉东南大学校长3㊀总结
本文采用Spring Cloud微服务架构方式进行私有云管理系统的研发㊂介绍了Spring Cloud微服务治理组件的功能㊂使用Gateway作为API网关作为统一入口进行认证和路由转发,使用Nacos作为配置中心和注册中心来完成微服务的配置管理,使用OpenFeign㊁Ribbon和Sentinel完成微服务间的调用,负载均衡和熔断处理㊂最后依托于Kubernetes服务编排完成容器化启动来实现系统的快速发布㊂
参考文献:
[1]董昭.电信运营商单体架构到微服务架构转型设
计思路[J].通信世界,2017.
[2]王磊.微服务架构与实践[M].电子工业出版社,2016.[3]
马征,缪凯,张广温.浅析Kubernetes容器虚拟化技术[J].金融电子化,2018.
[4]肖凯,张玉泉,陶智勇.基于Reactor模式的即时
通信服务器的设计与实现[J].信息技术,2017,000(003): 124-127.
[5]张清静.基于JAVA多线程技术解决物联云端服务雪崩效应的方法,2019.
㊃75㊃

本文发布于:2024-09-24 09:26:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/565205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务   进行   实现   架构   配置   系统   中心
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议