假设您有一张用户登记表,其中您填写了以下表单:姓名、姓氏、年龄、地址、首选的通信方式: Sms、电子邮件(无线电按钮)。
你有两个微型服务:
注册用户时,我们应该在两个服务中创建两个聚合: UserManagementContext中的用户和通信中的UserCommunicationSettings。
我可以想出三种方法来实现这一目标:
拆分这些数据并保存信息的最佳选择是什么?
发布于 2019-02-23 05:57:50
正如您在存储通信设置时提到的那样,假设通信数据应该不是UserManagement服务有限上下文的一部分。
我在另一个答案中看到了方法3提出的几个问题。虽然我认为最初答案中的第三种方法与我的答案非常相似。
提出的方法:
RegisterUser )发送命令,以供感兴趣的微服务使用。

发布于 2019-02-21 19:24:49
从UI执行两个不同的请求。如果其中一个失败了呢?
我觉得这样不行。你将以不一致的状态结束。
我赞成接近3#:
UserRegistered事件被四处发送,其中包含用户的ID。UserRegistered事件。我会选择slim事件,因为您的服务可能需要不同的用户数据,最好是让他们自己获取这些数据,而不是把所有的东西都放到事件中。
https://stackoverflow.com/questions/54804599
复制相似问题