CQRS微服务架构模式
Posted 编程爱好者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CQRS微服务架构模式相关的知识,希望对你有一定的参考价值。
什么是微服务?
这是维基百科里面的定义:“微服务是面向服务架构(SOA)架构风格的一种变体,它将应用程序构建为一系列松散耦合的服务。在微服务体系结构中,服务应该是细粒度的,协议应该是轻量级的。将应用程序分解为不同的小型服务的好处是它提高了模块性,使应用程序更易于理解,开发和测试。它还使小型自主小组能够独立开发,部署和扩展各自的服务,从而实现并行发展。它还允许通过持续的重构来实现单个服务的体系结构。基于微服务的体系结构使连续递送和部署。”
我们分析下细粒度/协议轻量级:
首先粒度是什么? 它是系统分解成小部分的程度。这里说细粒度,那么服务必然是更小模块,所以也就有上面说的易理解、开发、测试等。不过事物都有两面性,那缺点呢,应用进行细粒度拆分,意味着服务的数量增加,那么服务的管理、治理难度就增加 调用通信变得烦琐,而又要考虑到性能问题,所以这里才有提出了协议轻量级的概念。
什么是CQRS?
将应用程序分为两部分:命令端和查询端。命令端处理程序创建,更新和删除请求,并在数据更改时发出事件。查询端通过针对一个或多个物化视图执行查询来处理查询,这些物化视图通过订阅数据更改时发出的事件流而保持最新。关于这种模式查看:
示例:
简单架构
示例源码 托管在Github
以上是关于CQRS微服务架构模式的主要内容,如果未能解决你的问题,请参考以下文章
怎样将微服务和无服务器相结合?用新型事件驱动型架构CQRS!
分布式微服务企业快速架构之SpringCloud分布式微服务云架构