论文部分内容阅读
社会飞速发展,对软件架构提出了更高的要求,好的软件架构应能持续而快速的响应市场需求的变化。传统的单体架构由于功能代码耦合严重,业务伸缩性差、可维护性差等缺点很难进行良好的业务扩展和需求迭代,分布式开发的微服务架构风格应运而生并得到广泛应用。随着城市化的不断推进,小区的数量和规模逐年增大,物业公司竞争激烈,良好的用户口碑对物业公司正常运营和长远发展至关重要,提供优质的服务是获得用户口碑的重要方式。基于以上考虑,本文为物业管理公司开发了基于微服务架构的小区生活服务平台,该平台除了提供基础的物业服务,还通过对接住户与服务提供者,满足了住户的多样化需求,通过提供优质服务提升用户口碑。本文的主要工作如下:第一、从软件架构演化的角度出发,研究了微服务架构产生的背景和特点,以及如何采用微服务架构进行软件开发。第二、对小区生活服务平台的功能需求和非功能需求进行了全面的分析,根据微服务划分模式将划分为多个服务,并设计了本项目的微服务架构。第三,详细设计并实现了小区生活服务平台,包括普通用户端微信小程序,服务提供者微信小程序以及物业管理人员使用的Web后台。对于微服务中每个服务都需要进行的认证鉴权,设计并实现了网关处统一认证鉴权。对于微服务架构中日志分散难以管理的问题,设计了统一的日志收集管理模块。为了提高系统性能,设计并实现了基于服务器负载情况的动态权重负载均衡算法。为了加快响应速度,减轻数据库压力,系统使用Redis缓存,对于缓存和数据库之间数据一致性问题,设计并实现了保证数据最终一致性的同步方案。为了减轻数据库查询压力,使用了过滤器技术,选用Cuckoo Filter算法并对其进行了优化。本项目采用前后端分离技术,利用AJAX请求实现前后端数据交互,后端微服务以Spring Boot框架为基础开发,使用的组件以最新的Spring Cloud Alibaba技术栈为主。最后,对整个系统进行了功能和非功能测试,测试结果表明小区生活服务平台具有高可靠性,且能够在较大并发量的情况下做到快速响应,为用户提供稳定的服务,达到了设计目标。