微服务架构思想经由MartinFowler阐述后,在近几年持续受到重视。微服务架构的优点很多,比如它解耦业务,提供更高的灵活性,允许在服务频繁发版的同时保持系统其它部分的可用性与稳定性;解耦编程语言,针对不同业务可以使用更加合适的语言进行开发;解耦开发团队,不同团队各自负责一个微服务,互不影响,加速交付。
聚合器设计模式
聚合器设计模式是将请求统一由网关路由到聚合器,聚合器向下路由到指定的微服务中获取结果,并且完成聚合。首页展现、分类搜索和个人中心等通常都使用这种设计。这是一服一库的设计。
数据共享模式数据共享模式也是微服务设计模式的一种。应用通过网关调用多个微服务,微服务之间的数据共享通过同一个数据库,这样能够有效地减少请求次数,并且对于某些数据量小的情况非常适合。很显然,这是多服一库的模式。
异步消息设计模式
异步消息设计模式乍看起来跟聚合器的设计方式很像,唯一的区别就是网关和微服务之间的通信是通过消息队列而不是通过聚合器的方式来进行的,采用的是异步交互的方式。这也是一服一库的模式。
DatabaseMesh的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是交互,是将杂乱无章的应用与数据库之间的交互有效地梳理。其实在这个概念没提出之前,一直都存在数据治理,而DatabaseMesh目前来看,更多的还是在概念阶段。
领取专属 10元无门槛券
私享最新 技术干货