假设我有一个user-accounts服务和一个profiles服务。如果profiles服务在某些计算中需要来自user-accounts服务的数据,这意味着profiles服务依赖于user-accounts服务。
现在,假设正在为user-accounts服务实现其他功能。此功能需要来自profiles服务的数据。
这将创建一个周期性的依赖关系,因为每个服务都依赖于对方。这被认为有害吗?
除了引入微观服务之间的周期性依赖之外,还有哪些替代方案?是否最好添加一项额外的服务来充当代理?
发布于 2021-05-21 04:25:12
我会尽量避免这种情况。就我个人而言,我试图完全避免将微服务耦合起来,而更多地依赖于编排和/或事件编排。
以下是您可以避免的一些方法:
user-accounts和profiles合并为一个单一的微服务。如果它们是密切相关的,也许您的服务粒度略有错误。user-accounts和profiles之间的调用,您可能可以在user-accounts和profiles之间编排事件。一个服务可能发布事件,而另一个服务则订阅这些事件。您可以在这种类型的architecture.中使用像RabbitMQ这样的消息代理。
没有绝对正确的答案,海事组织-这些只是一些一般的指导方针-它真的取决于你的具体情况.
https://stackoverflow.com/questions/67630706
复制相似问题