【发布时间】:2019-03-01 09:45:02
【问题描述】:
我是 DDD 和 CQRS 的新手,我正计划构建一个简单的应用程序来提高我的技能。 我打算做的是一个简单的 Taxi Corp 应用程序。
要求:
- 客户叫了一辆出租车。
- 客户一次只能有一个订单。
- 司机挑选订单。
- 司机一次只能下一个订单。
- 驱动程序转到客户端。
- 客户进入驾驶室。
- 课程开始。
- 课程结束。
- 购买客户并支付司机费用
等等。
我可以看到可以有三个聚合:Client、Order 和 Driver。我想将它们拆分为单独的微服务。你认为这是个好主意还是我应该从一个微服务开始?
我目前专注于订购出租车。首先我需要检查客户是否还没有分配课程,稍后我可以创建订单。创建订单后,我需要将其分配给客户。由于在一个请求期间只能更新/创建一个聚合,我想知道如何正确地做到这一点。我读过一些关于流程管理器的东西,我认为它在这种情况下会非常有用。我什至画了一个沟通模式。谁能告诉我我的方法是否正确,并给我一些关于如何走得更远的提示?
【问题讨论】:
标签: domain-driven-design microservices cqrs bounded-contexts