打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于Spring Boot实现DDD货物运输微服务应用源码

  基于Spring Boot微服务框架和DDD领域建模思想,构建货物运输系统(Cargo Tracker application)的完整微服务应用。

  

  该实现采用基于微服务的架构风格,并使用以下技术:

  基于DDD领域建模思想;采用Spring Boot微服务框架;基于Spring Cloud Stream组件构建消息驱动的微服务应用;RabbitMQ作为微服务消息中间件;Spring Data作为数据管理平台;

  其中包含了4个微服务子工程:

  1. 预订微服务 bookingms:负责与货物预订相关的所有操作。

  2. 运输微服务routingms:该微服务负责与货物路线相关的所有操作。

  3. 跟踪微服务trackingms:该微服务负责与货物相关的所有跟踪操作。

  4. 装卸微服务handlingms:该微服务负责与货物相关的所有装卸操作。

  微服务模块内部代码以六边形架构和CQRS(命令查询职责分离)架构设计:

  domain:DDD领域模型,其中有aggregates、command、entities和valueobjects等子模块。application:放置应用服务,命令和查询服务分离在这里。其中有CargoBookingCommandService,这是CQRS的命令服务;CargoBookingQueryService是CQRS文凭查询服务;CargoEventPublisherService是用于向RabbitMQ消息系统发送消息的消息发布者;应用服务主要是与CQRS和消息系统相关的工具或SPI类。infrastructure: 放置数据库仓储、以及与消息系统相关,这里基础设施包主要是直接与数据库和消息系统技术相关的SPI或帮助类。interfaces: REST API接口以及相关DTO或事件。这里放置提供被调用的API相关类,包括DTO,领域模型对象不应该直接被外部调用引用,应该转为DTO供外界使用。

  在《DDD领域驱动设计-货物运输系统》技术专栏中,包含对上述开源项目的详细代码和功能介绍、DDD领域模型设计、搭建MySQL和RabbitMQ运行环境、运行调试和Bug修复等等。欢迎访问和交流。

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
dom4j读取xml文件的一个小例子
领域驱动设计实践 —— 架构风格及架构实例
深入实践 Spring Boot_PDF
一个比 Spring Boot 快 44 倍的 Java 框架
从头开始搭建一个Spring boot+RabbitMQ环境
200 道 Java 最常见的面试题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服