Cok*_*aka 4 domain-driven-design bounded-contexts microservices
我将我的系统分解为(至少)两个有限的背景:学习设计和调查计划.
在研究设计背景下有一个名为"主题"(面试的潜在主题)的概念.我们还维护该领域的受试者和人群之间的关联.
现在,在调查计划中,我们还需要(一些)关于该主题的信息(例如:用于计划访问,或者甚至用于预期选择的问卷,以防该受试者所属的人口事先已知).
所以,在这两种情况下我都需要这个"主题".
我应该采取什么方法?有一个共享内核,正如Eric Evans DDD一书中所解释的那样?我不介意(至少现在)让两个上下文共享同一个数据库.
或者......我应该去纯粹的微服务吗?含义:这两个不能/不应该共享数据库...,在这种情况下,我可能必须通过事件传递去镜像/复制路由:https://www.infoq.com/news/2014/11 /共享数据-有界上下文
对于上述情况,有关哪一个更好的想法?
谢谢!
我建议您选择事件驱动的解决方案,但不一定使用微服务。您可以构建一个事件驱动的整体架构,以便花费更少的时间来同步两个模型。当应用程序变得太大时,您可以将整体拆分为微服务。您可以使用 CQRS 将模型拆分为写入和读取。如果您使用事件源,事情会变得更加有趣。
根据我的经验,通过共享内核,模型成为上帝对象,一刀切的对象。