CQRS微服务架构模式

​什么是微服务?

    这是维基百科里面的定义:“微服务是面向服务架构(SOA)架构风格的一种变体,它将应用程序构建为一系列松散耦合的服务。在微服务体系结构中,服务应该是细粒度的,协议应该是轻量级的。将应用程序分解为不同的小型服务的好处是它提高了模块性,使应用程序更易于理解,开发和测试。它还使小型自主小组能够独立开发,部署和扩展各自的服务,从而实现并行发展。它还允许通过持续的重构来实现单个服务的体系结构。基于微服务的体系结构使连续递送和部署。”

我们分析下细粒度/协议轻量级:

    首先粒度是什么? 是系统分解成小部分的程度。这里说细粒度,那么服务必然是更小模块,所以也就有上面说的易理解、开发、测试等。不过事物都有两面性,那缺点呢,应用进行细粒度拆分,意味着服务的数量增加,那么服务的管理、治理难度就增加 调用通信变得烦琐,而又要考虑到性能问题,所以这里才有提出了协议轻量级的概念。

 

什么是CQRS?

    将应用程序分为两部分:命令端和查询端。命令端处理程序创建,更新和删除请求,并在数据更改时发出事件。查询端通过针对一个或多个物化视图执行查询来处理查询,这些物化视图通过订阅数据更改时发出的事件流而保持最新。

 关于这种模式查看:CQRS

示例:

简单架构

示例源码

https://github.com/sky233/micro-starter

有任何问题随时与我联系,期待您的反馈。 

Email: lixingping233@gmail.com

posted @ 2017-11-06 22:11  编程码农大叔  阅读(9245)  评论(0编辑  收藏  举报