我目前正在做两个微服务,微服务A包含了微服务B的SDK,用于调用B的API和访问一些实体类。类似地,微服务B还包括微服务A的SDK,并访问微服务A的enitity类。
现在,当我需要在微服务A中提升微服务B的版本时,我面临着一个问题,反之亦然。
我该如何解决这个问题?
发布于 2021-06-28 18:23:01
您已经通过tightly coupling这两个服务打破了微服务的基本规则。
正确的答案是重构这些服务,以便它们正确而完整地封装功能。这可能涉及合并它们(如果B总是完全依赖于A,它们可能不是真正独立的服务),将它们拆分成更多的服务,或者只是转移责任。
但是,您使用紧耦合微服务所走的道路导致的distributed monolith不太可能提供您想要的好处(特别是包括您在这里提到的相互依赖的修订问题)。
这是一个相关问题的good answer,可能会提供一些更多的见解。
https://stackoverflow.com/questions/68167053
复制