【发布时间】:2019-03-20 15:32:19
【问题描述】:
我们正在基于现有的庞大单体应用程序设计新的微服务架构。
我们阅读了很多关于如何设计微服务以及它们如何通信的信息,但我找不到关于这个“问题”的任何信息:
假设我们有两个管理“建筑物”的微服务和另一个管理“人员”的微服务;
但是,现在我们还有另一个微服务也用于管理“参考数据”(如国家、州等)和另一个用于管理“用户偏好”的微服务。
我们如何管理一个人“包含”一个国家(对于国籍)和一个建筑物也包含一个国家(对于它的地址)?
当用户调用其中一个业务微服务(Person 或 Building)时,我们可以进行简单的同步 HTTP 调用来检索用户偏好吗?我们可以将其视为反模式吗?
我们可以在共享程序集 (.net) 上定义那些“共享的东西”(c# 类)吗?或者是否有任何其他需要考虑的最佳实践?
谢谢,
【问题讨论】:
-
"包含" 很奇怪,它似乎不是来自无处不在的语言(参见 DDD)。为什么不直接说:“一个人有国籍”?
标签: architecture microservices