摘要:
SaaS(Software as a Service)应用作为一种新型的软件服务模式,在日常生产生活中越来越重要.在SaaS应用的落地过程中传统的的单体架构不能满足SaaS应用的需求,于是微服务架构应运而生,补齐了单体架构的短板,大大的促进了SaaS应用的发展,但是由于它产生时间不久,微服务架构还存在一些问题.首先构建一个微服务系统之时,单个服务的粒度往往难以把握,一个划分不成熟的微服务系统随着业务的迭代将会难以维护;其次由于微服务架构是由众多的服务实例整体协调对外提供服务,服务实例的管理和服务间调用方式就显得十分重要.最后由于微服务系统本身去中心化的数据存储模式,系统会不可避免的产生分布式事务,而传统的强一致性分布式事务解决方案会造成服务间的强耦合,这和微服务本身的松耦合理念相悖.本文深入探究了SaaS服务模式下微服务架构的开发模式.首先研究了微服务应用的边界划分问题,根据微服务架构的特性制定单个微服务的划分原则,给出了基于领域驱动设计的服务边界划分方案.其次研究了针对SaaS应用在使用微服务架构时服务节点数量巨大时服务的调度管理,指出了已存在的基于服务端负载均衡的元数据统一管理方案混乱而低效的调度方案设计,提出了一种基于客户端负载均衡的服务统一管理调度方案,并设计了基于客户端的负载均衡方案.最后针对微服务开发过程中的数据一致性进行研究,提出了微服务架构下两种事务模型,采用基于BASE(Basically Available,Soft State,Eventually Consistent)理论的业务补偿事务给出了解决方案.上述的研究在基于微服务架构所构建的电子签章SaaS平台在现实项目中得以实践,并进行了全面的测试,全面展示了如何开发实现和部署微服务架构的SaaS应用.本文通过微服务管理框架的研究,为基于微服务架构开发SaaS应用提供了有效的借鉴.
展开