我的软件是一种社交网络,除其他功能外,成员还可以在其中安排他们之间的一些会议。
我选择出现这三个有界上下文(DDD):
- IdentityAndAccessContext,主要处理用户身份验证/授权。
- SocialContext,处理会员和有关他们的所有社交信息;他们的兴趣等,类似于经典的社交网络。
- MeetingsContext,处理一些成员之间的会议。我们正在谈论作为创作者/参与者/参与者等的翻译价值对象。
基本上,在MeetingsContext中,会议的创建用例需要一个成员列表(以便邀请其中一些成员),基本上是通过一个 Web 表单,用户在该表单中选择一些提供一些有趣但轻松的社交信息的成员。
您可能会发现,SocialContext显然是以社交方式掌握成员数据。
我应该在SocialContext中创建一种开放主机服务,为用例返回一些相关的成员数据吗?
它将由MeetingsContext直接使用(REST 协议),如果需要,可能通过反腐败层。
或者我应该缓存甚至可能在MeetingsContext中复制相关成员的数据以改进它的自包含方面?
使用缓存解决方案,缓存将以最终一致性的方式同步。
在这种情况下有什么好的做法?