在微服务之间共享常量/枚举是一个好习惯吗

Dee*_*nia 5 microservices

在我的应用程序中有 9 个微服务,假设其中两个使用枚举进行操作。将枚举放在公共位置并将公共 jar 添加为两个微服务的依赖项是否是一种好习惯?

小智 5

微服务理论说,你不应该那样做。但我认为,从实践的角度来看,这往往是必要的。至少,如果您想确保整个组织的某种程度的治理。因为,是的,大多数枚举主要由一些微服务或有界上下文拥有。但这并不意味着,您不需要在其他人中使用它们……以手机银行为例……您想通过移动应用程序(具有自己的后端)开设银行账户。该移动应用程序正在(通过其自己的后端)(直接或通过某些消息传递层)与核心银行系统进行通信。您的移动应用程序需要知道您要开设的帐户的产品代码(以及许多其他内容),当然,核心银行系统也需要知道它(在掌握这些信息的域中)。还有,我不 不要认为通过图书馆共享枚举是唯一的方法。您可以通过 REST API 或消息动态读取枚举。它总是在您需要什么和这样做的成本之间进行权衡。但我不同意,不分享总是最好的选择。