我想避免在微服务应用程序中复制POJO,所以我想知道是否有一种方法(例如代理)?
我的意思是,有没有一种方法Service A可以访问内部定义的POJO(或其他类/接口),Service B而无需在其中物理创建这些POJO类文件Service A?
Service A
Service B
微服务架构中的最大挑战就是这一点,而我却没有找到解决它的方法。
“简单”:当有两个服务应该使用一些 通用的 东西时-答案是将这段代码移到某种形式的 库中 ,并且两个服务都依赖于它。
其他任何事情很可能是一个 坏 主意。微业务的整体思路是该服务的也 不能 以任何形式取决于B.而你 不 希望通过某种后门进入其他服务的反映游戏并以某种方式进入内部。
正如一些评论所表明的那样:使用库有助于避免 代码重复 。另一种选择是将服务B中的“通用”部分 故意 复制到服务A中。这也是一个选择。
从这个意义上讲:您可以将公共部分重构为库,也可以将它们复制。两种方法各有利弊。您必须确定环境中最重要的部分。