基于阿里开源的COLA架构和DDD领域驱动设计构建货物运输系统
作者:互联网
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。
COLA既是框架,也是架构。COLA架构融合了常见的DDD代码模型,可以帮助开发人员快速实践并落地DDD领域建模的应用项目。
货物运输系统(Cargo Tracker Application)是领域驱动设计(DDD)的经典示例。Eric Evans(DDD之父)在他的书中引入了货物运输系统为示例,Eric这样描述该领域模型:
- 一个Cargo(货物)涉及多个Customer(客户,如托运人、收货人、付款人),每个Customer承担不同的角色;
- Cargo的运送目标已指定,即Cargo有一个运送目标;
- 由一系列满足Specification(规格)的Carrier Movement(运输动作)来完成运输目标;
- 预订微服务 bookingms:该服务负责与货物委托预订相关的所有操作,包括包裹预订、查询包裹明细、包裹行程制订(Assign Route to Cargo)等等,还有发布CargoBookedEvent和CargoRoutedEvent领域事件,以及订阅CargoHandledEvent事件消息等等。
- 运输微服务routingms:该服务负责与货物路线相关的所有操作,包括获取路线的行程、维护航线(Maintain Voyages)等等。
- 跟踪微服务trackingms:该服务负责与货物跟踪相关的所有操作,包括为货物分配运单号(TrackingNumber)、跟踪货物路线,还有订阅CargoRoutedEvent和CargoHandledEvent事件消息。
- 装卸微服务handlingms:该服务负责与货物装卸相关的所有操作,包括注册装卸活动(Register Handling Activity)、查询装卸活动历史记录等等。
标签:Cargo,货物运输,架构,开源,COLA,货物,DDD 来源: https://www.cnblogs.com/rickie/p/15250941.html