基于微服务的多租户城镇人口住宅管理系统的设计与实现

来源 :东华大学 | 被引量 : 0次 | 上传用户:wxwp_xu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着敏捷开发和应用复杂度的不断增加,对应用功能的横向扩展及解耦合等需求提出了更高的挑战。面向服务的软件开发架构由于其规范化、松耦合和去中心等诸多优势,可以很好的解决以上问题。本文在研究面向城镇的人口住宅管理系统的应用需求时发现,原系统是基于MVC软件架构且服务于单个城镇的应用,随着应用推广到多个城镇,各使用机构需求不断变化,对系统功能的敏捷迭代和智能维护给出了更高的要求。因此本文迫切需要将单体式集中应用转变为分布式服务应用,以便充分利用云平台的资源同时为多个机构提供应用服务和功能维护。本文深入剖析了分布式应用的设计思路,基于领域驱动设计原则构建了用于辅助分布式应用设计的服务分割模型;然后结合微服务架构利用Spring Cloud实现了城镇人口住宅管理的Saa S系统;最后为了系统具有服务实例的智能维护功能,本文采用容器技术和容器编排框架实现了服务的多实例化和动态扩缩容部署。具体工作内容主要有以下四点:1)研究了分布式应用的设计原则,根据微服务在系统中所担当的功能角色将其分为四类,包括管理监控微服务、辅助性微服务、业务逻辑微服务和复用性微服务;再结合领域驱动设计原则构建了服务分割模型。2)基于微服务架构和服务分割模型,对城镇人口住宅管理系统的功能进行服务架构设计。通过服务注册中心来进行服务请求的通讯从而解除服务之间的依赖,并采用Spring Cloud的子项目来开发相应的服务。3)通过数据库中间件的水平和垂直切分完成对多租户数据的安全隔离;使用Redis缓存数据库来进行数据请求的优化;搭建Harbor私人镜像仓库来存储镜像文件,同时让容器编排集群拉取其中的镜像生成服务实例。4)结合Docker容器技术和Kubernetes容器编排框架来实现服务实例崩溃时,系统快速恢复对应的服务实例;当服务的资源利用率增加或者减少时,系统对相应实例进行动态扩缩容以提高系统的负载能力。本文设计实现的多租户城镇人口住宅管理系统,采用微服务架构解耦合了功能应用,提高了该系统的可维护性和扩展性;结合容器技术让该系统在高低访问量下具有较好的稳定性。
其他文献
产肠毒素性大肠杆菌(ETEC)常引起仔猪腹泻,在世界范围内造成了严重的经济损失。ETEC的致病作用与其具有粘附性菌毛和肠毒素密切相关,ETEC菌株的菌毛可与宿主黏膜上皮细胞表面的相
生猪市场最近继续保持平稳震荡的态势,总体来看行情走势比较平稳,没有出现大幅度上涨或下跌。目前全国瘦肉型猪的出栏均价已经在14.3~14.4元/千克震荡了4天左右。若目前没有有力的
随着城市经济的快速发展和城市化趋势的加剧,城市交通需求日益增长,高峰期城市交通问题日益严重。常规公交是城市公交的主体,作为城市公交系统的重要组成部分,对缓解高峰期城
Parallel and orthogonal tests are used to explore the influence law of the dosage and age of curing agent on the strength of solidified sludge. The test results
猪是恒温动物,正常气温情况下体温保持在38.7-39.8℃。研究表明,在等热区范围内,猪感觉舒适,生产力和饲料转化率都很高。如温度变化超过等热区的上、下限,不仅猪的生产力和饲料转化
水稻是我场种植面积比较大的农作物,1999年面积达2.3万hm2,这就需要种子公司向农户提供大量的高活力的种子.水稻种子的贮藏非常重要,尤其我场处第三积温带,在水稻收获季节常
在中国高校扩招这个大背景下,本文利用CHNS数据,基于工具变量法和Heckman两阶段回归法,实证性地研究了中国城镇教育回报率的变化趋势以及各个教育水平的回报率差异。结果发现
在地球上的众多资源当中,地热资源历史悠久,且储量巨大,地球内部的总热能量,约为全球煤炭储量的1.7亿倍,其中,每年约有相当于1000亿桶石油燃烧产生的热量,从地球内部经地表散
声音是物体振动时产生的具有不同频率、并通过听觉反应的波。现在,经过科学家的努力,许多利用声音为人类服务的途径竞相而生。从而使声音变成了新的资源。