microservices - 微服务的 DDD 数据复制
问题描述
我有用户、付款、产品、结帐服务。用户支付方式;付款人,产品;卖家,结帐:买家等。当新用户注册时。我发布包含用户的事件。并存储所有服务的用户数据。这意味着 15000 个用户是所有服务的 X4 = 60.000 个用户数据。
那样行吗 ?
或者我该怎么办?
解决方案
那样行吗 ?
从我的观点来看,在微服务架构中,所需数据本身的复制是完全可以的,如果它出于正确的原因发生的话。而且我什至不一定首先将其视为正常的数据重复。
每个微服务都有自己的域模型,因此用户模型——您已经在不同的服务(付款人、卖方等)中以不同的方式命名——在不同的上下文中表示不同的东西。很可能还会有数据添加到每个服务中的那些用户对象,这些数据甚至不为用户服务所知。
或者我该怎么办?
...但您仍应考虑每项服务中用户数据的表示形式。甚至可能没有必要在创建用户后立即在您的每个服务中构建用户模型(卖方、买方等)的投影。
如果我需要手头有一些用户信息,例如,当我必须执行一些域逻辑时,我只会这样做。您很有可能只需要您的一项服务中相应用户的 ID(或者说唯一的用户名)即可将用户连接到某个域实体。或者您甚至可以按需创建相应的用户对象,例如在结帐过程中。
推荐阅读
- python - numpy.where - 奇怪的行为:新元素不知从何而来?
- reactjs - 使用 WebStorm,如何让 React 自动导入组件在 HOC 上工作
- python - 蟒蛇 | 从未知目的地复制文件
- python - python多处理池阻塞主线程
- javascript - 如果路径中存在文件,我想在输入类型中设置自动选择的文件
- android - Firebase 存储在上传到数据库期间出错
- google-places-api - 如何测试 Google Place API 第三方属性
- azure - AZURE Active Directory - What is the difference between a Service Principal and an Enterprise Application?
- reactjs - Enforce updating locale format after locale switch
- ios - Swift Framework only builds after a clean