上QQ阅读APP看书,第一时间看更新
2.1.3 结果评估
截至目前,由于两个团队独立并行开发,因此存在代码及工作的冗余。
■ 重复的代码可能导致更多的缺陷与错误。举个例子,团队B在他的授权组件中修复了一个缺陷,这并不意味着团队A不会遇到同样的缺陷。
■ 同样或相似的代码存在于各自独立的代码库中时,由于信息孤岛效应,工程师之间无法及时分享信息。譬如,团队B发现一个令牌计算的缺陷并在自己的代码库中进行了修复。不幸的是,这部分修复的代码不会自动合并到团队A的代码库。团队A仍需要在不久的将来自行修复该缺陷,甚至不基于团队B的代码变更。
■ 不需要协调的工作可能进展更迅速。不过,这也会导致两个团队都做了大量类似或者重复的工作。
在实际生产中,我们推荐使用久经验证的认证策略,譬如OAuth或者JWT,而不是从零开始实现一套逻辑。这些策略在微服务架构中更加重要。当多个服务需要认证从而访问其他服务的资源时,这两种策略都有很大的优势。我们不会在这里专注讨论某个认证或者授权策略。我们更倾向于专注代码层面,譬如代码的灵活性、可维护性以及架构的复杂性。在2.2节中,我们会讨论如何通过抽取通用代码,构造共享库来解决代码冗余的问题。