论文部分内容阅读
随着云计算技术的发展,云平台作为其核心应用也渗透到各行各业中得到广泛的应用。云平台基于虚拟化等技术对底层的软硬件资源进行管理和调度,并为用户提供了多种类型的服务,用户只需要通过轻量级的客户端和网络即可在任意时间、地点接入云平台进行使用。但是随着用户量的增长以及功能需求的多样化,云平台服务端容易出现耦合度过高、性能低下并且难以维护等问题,逐渐成为整个系统的瓶颈。本论文针对实验室现有的云平台在单体架构下暴露出的一系列问题,结合微服务架构对云平台服务端进行设计与实现,进而提高整体的可靠性、性能以及扩展性。首先对服务端现有的单体架构以及具体需求进行详细分析,并且结合微服务架构的设计思想,完成了云平台服务端整体架构的设计,将其分为平台资源层、服务通信层、业务服务层以及微服务治理层。接下来本论文对云平台服务端进行了详细的设计与实现。在服务通信层中引入Spring Cloud Feign客户端以及Kafka消息中间件,设计并实现了服务端的通信方式包括同步调用以及异步调用。业务服务层则基于微服务架构高内聚低耦合的设计原则,根据不同的业务边界对服务端进行拆分,得到云桌面模块、云应用模块、云存储模块以及基础功能服务群。其中各个微服务模块都对应一个独立的数据库,并且支持单独进行开发、部署和运维。微服务治理层则采用Spring Cloud框架作为一站式解决方案,结合服务端的实际需求对服务网关Spring Cloud Gateway、熔断服务Hystrix、服务注册与发现Eureka以及配置中心Spring Cloud Config等组件进行设计,并实现了服务端的限流熔断、服务注册与发现以及统一配置管理等功能,进而最大限度地发挥其治理能力。最后本论文对实现的云平台服务端进行功能性测试以及非功能性测试,其中非功能性测试包括可靠性以及并发测试。测试结果表明改进后的服务端能有效地解决单体架构下存在的问题,并且各方面都满足了预期的设计要求。