我很感谢您的直接回答。
方案1:我需要显示产品信息。
产品服务(PS):保存有关产品的信息 定价服务(XS):保存每个产品的定价信息 聚合服务(AS):结合产品信息和价格。
问题:“ AS”呼叫“ PS”(带有产品ID)以获取产品信息。现在,“ AS”如何从“ XS”中获取特定的产品价格?
这里的混乱之处在于,PS Table是否具有ID对应于XS Table中相应价格的DB列?我们可以称之为外键吗?如果是这样,是否会导致两个服务之间的紧密耦合?这违反了微服务的原则。
答案 0 :(得分:1)
好吧,您可以将该字段称为“外键”,但只要您不对其施加任何约束,就可以了。
在我看来,这只是参考。它不会带来任何紧密的耦合,它提供了一些绑定。就微服务架构而言,这是完全可以的。如果您考虑可能的实施范围,您可能会看到例如可以使用完全不同的数据库(例如关系数据库)来进行定价服务,甚至 产品服务的文档数据库。在那种情况下,更清楚的是您所谓的“外键”仅是实际记录的参考。
话虽如此,我仍可能会质疑您的解决方案
但是从我的角度来看,外键部分还是可以的。