在我的应用程序中有9个微服务,可以说其中两个使用枚举进行操作。将枚举放在公共位置并将公共jar添加为微服务依赖是一个好习惯吗?
答案 0 :(得分:2)
微服务理论说,你不应该这样做。但我认为,从实际的角度来看,它往往是必要的。至少,如果您想确保整个组织的某种程度的治理。因为,是的,大多数枚举主要由一些微服务或有限的上下文拥有。但这并不意味着,您不需要在其他人中使用它们......例如手机银行......您想通过移动应用程序(具有自己的后端)开设银行账户。此移动应用程序(通过其自己的后端)(直接或通过某些消息传递层)与核心银行系统进行通信。 您的移动应用程序需要知道您要打开的帐户的产品代码(以及许多其他内容),当然,核心银行系统也需要知道它(它位于掌握此信息的域中)。 此外,我不认为通过库共享枚举是唯一的方法。您可以通过REST API或消息动态读取枚举。它始终是您需要的权衡以及这样做的成本。但我不同意,不共享永远是最好的选择。