Pos -DDD,反应性微服务,CQRS事件采购由Dermayon库提供支持
带有Dermayon库的CQRS和事件采购的样本应用DDD反应性微服务。
体系结构
特征
- 微服务
- CQRS(命令查询责任隔离)
- 事件采购
- 通用Pos
- 单位工程
- 域驱动设计
- API网关OCELOT
- 多个数据库类型[mongodb,sqlserver等]
- 消息经纪人[kafka]
信息
- 域层:诸如事件,rep Pos等应用程序主管等
- 基础架构层:数据库,文件等
- 应用程序层:WebAPI等
主要建筑
微服务 – 也称为微服务架构 – 是一种结构风格,将应用程序作为服务集合而成
- 高度可维护和可测试
- 松散耦合
- 独立部署
- 围绕业务能力组织
- 由一个小团队拥有
微服务体系结构可以快速,频繁且可靠地传递大型复杂应用。它还使组织能够发展其技术堆栈。参考
API网关
API网关封装了内部系统体系结构,并提供了为每个客户端量身定制的API。它可能还承担其他职责,例如身份验证,监视,负载平衡,缓存,
CQRS事件采购
CQR代表命令查询责任隔离。这是我第一次听到格雷格·杨(Greg Young)描述的模式。它的核心是,您可以使用不同的模型来更新信息,而不是您用于阅读信息的模型。对于某些情况,这种分离可能很有价值,但是要注意大多数系统CQR会增加风险的复杂性。
使用CQRS事件采购的好处
想象一下,如果系统过于复杂且用户超过1K用户在服务器中,则有多少个相关表?获取数据需要多长时间?使用CQRS和事件采购,我们可以实现实现的视图,换句话说,将表不利的表格成一个数据或平坦
反应性服务,反应性宣言和微服务
反应性宣言概述了基于四个原则的反应性系统的质量:响应,弹性,弹性和消息驱动。
- 响应性意味着服务应及时响应。
- 弹性与响应能力一致,即使面对失败,系统也应响应。
- 弹性具有弹性。能够启动新服务,下游和上游服务以及客户找到新实例的能力对于系统的弹性以及系统的弹性至关重要。
- 消息驱动:反应性系统依赖于异步消息传递。这项建立的服务之间的界限(在程序内和范围内)允许松散耦合(发布/订阅或异步流或异步调用),隔离(一个故障不会触及到上游服务和客户端),并改善了响应错误处理。
开始
克隆Pos
运行并构建应用程序
Pos
docker-com Pos e up\”>
cd Pos
docker-com Pos e up
等待完成
列表URL:移植应用程序
docker container ls
对于样品,我们可以导航到产品服务:: Localhost:32771/Swagger
在网关中运行
导航到Pos tgateway以获取示例:: localhost:32768/[services]/[action]
在网关中运行的样本http:// localhost:[posgatewayport]/api-product/productCategory/7A3FFF4B-54CA-4CA-4C21-BF04-C11AEA9B7673
网关服务列表
- 产品服务= localhost [::]/api-product/[Action]
- 客户服务= localhost [::]/api-customer/[action]
- 订单服务= localhost [::]/api order/[action]
- 报告服务= localhost [::]/api-Report/[Action]
检查所有服务
保留最新信息,我将更新技术和软件设计的最佳实践,建筑
