此种方案, 从开发的角度, 其好处是显而易见的: 不需重启运维中的微服务, 而是在编译, 单元测试的时候, 特定的微服务便可立即知道, 在共享工程中的任何的修改或变更, 对微服务自身的影响为何?

然而, Compile Binding 却存在著个严重的问题: 当共享的工程与数十个、上百个微服务是 Compile Binding 时, 则有的微服务可编译、可测试通过、可发布, 而有的微服务却发生了无法编译, 或测试不通过, 有的微服务则发生了无法发布….; 真的是一场灾难。

更糟糕的是, 当灾难发生时, 各个微服务也没法对所共享的工程, 有任何的选择权或控制权;各个微服务无法选择自身所要的共享工程的版本。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据