API服务中间件的设计与实现
作者单位:电子科技大学
学位级别:硕士
导师姓名:郭文生;薛力伟
授予年度:2019年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:Tars 高可用 Docker Shiro Redis集群
摘 要:随着互联网技术飞速发展,中国互联网用户数量不断增加,业务数据也从单一关系性的特点,向复杂多样性转变。指数性增长的并发压力和复杂的数据结构给传统架构模式下的应用带来了巨大的挑战。为了应对这些挑战,“微服务架构应运而生。但凡是有利又有弊,“微服务架构并不是万能的。当系统中“微服务个数达到一定数量后,系统将变得复杂且难以管理。因此,各大应用厂商都在构建自己的分布式解决方案,如阿里的Dubbo+Zk、Pivotal的SpingCloud和Tencent的Tars等。本文通过对这几种分布式框架进行分析和比较,并阐述了最终选择Tars和Springboot来构建分布式服务中间件的原因。该中间件主要由三个部分组成,分别是客户端、服务端和资源管理端。每个部分通过Springboot+Maven+Mybatis-plus来构建。客户端主要负责对外提供接口服务,同时对用户的权限、数据安全和参数校验等基础功能进行封装。服务端实现具体的业务逻辑,同时增加了目前主流数据库访问逻辑的实现,并对核心数据进行缓存,从而增强了服务端对接下游系统的能力。资源管理端主要对系统用户的权限和对外提供的接口进行管理。最后结合Tars在DevOps方面的优势,使开发者能轻松监控和管理已经发布的“微服务,让开发者将更多精力投入到具体的业务开发中。本论文包含八个部分,前两章简要描述了该论文研究的背景、意义和用到的相关技术。第三章总体介绍了整个系统的架构体系,并分别阐述了每个模块的功能和概要设计。第四、五、六章详细描述了TARS管理平台创建和每个模块的实现细节,并对其部分核心代码进行展示。第七章主要是对该系统的功能性、安全性和并发量进行测试,并对测试结果进行总结和分析。第八章主要论述了系统中存在的问题和今后改进的方向。