Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
Spring Boot和EventStoreDB事件溯源案例
22-03-30
banq
使用Spring Boot和EventStoreDB的Event Sourcing:
案例展示了基本的事件追溯流程。它使用EventStoreDB进行事件存储,使用Spring Data JPA支持PostgreSQL进行读取模型。
所展示的用例是购物车流程:
客户只有在打开购物车后才可以将产品添加到购物车中。
当选择和添加一个产品到购物篮时,客户需要提供所选择的数量。产品价格是由系统根据当前的价格表计算的。
顾客可以从购物车中删除一个给定价格的产品。
顾客可以确认购物车,并开始订单执行过程。
顾客也可以取消购物车,拒绝所有选定的产品。
在确认或取消购物车后,产品不能再被添加或从购物车中删除。
从技术上讲,它的模型是用Spring Boot和Java 17编写的Web API。
概述
纯数据实体、函数和处理程序。
存储来自命令处理程序结果EventStoreDB的事件。
使用Subscription to $all构建读取模型。
读取的模型通过Spring Data JPA存储到Postgres的关系表中。
应用程序有Swagger和预定义的docker-compose来运行和播放样本。
设计
从写模型(EventStoreDB)和读模型部分(PostgreSQL和Spring Data JPA)解释事件源的基础知识。
介绍你可以将经典的方法与事件源结合起来,而不需要进行大规模的革命。
CQRS架构按业务特征划分,将改变的代码保持在同一位置。请阅读更多关于如何有效地切分代码库的内容。
为命令、事件、预测、查询处理提供干净的、可组合的(纯)功能,最大限度地减少对标记接口的需求。得益于此,可测试性和更容易维护。
易于使用和不言自明的流畅的API,用于注册命令和预测,并有可能的回退。
将所有东西都注册到常规的DI容器中,以便与其他应用服务集成。
在边缘推动类型/签名的执行,所以当插入到DI时。
点击标题
1
事件溯源EventSourcing
CQRS命令查询分离架构
DDD领域事件
DDD案例源码