软件系统优化与问题解决指南
1. 评估系统与约定对齐的价值
在决定是否投入时间和金钱使系统与特定约定对齐时,除了服务水平目标(SLOs),还可以从以下几个方面考虑价值:
- AGE(约定的年代) :约定越古老,越有可能深深嵌入现代技术栈的各个部分。不符合该约定的遗留系统会发现可用的工具和选项越来越少。
- JUSTIFICATION(合理性) :推广该约定的人为什么要推广它?这是良好的安全实践吗?是否有记录完善的案例表明该约定避免了严重故障?
- ADVOCATES(倡导者) :这个约定来自哪里?是否来自一个许多其他组织都必须与其开展业务的大型组织?
- OPENNESS(开放性) :该约定是否基于或与开放标准相关?人们是否因许可或其他专有问题而无法采用该约定?
2. 何时拆分单体应用能增加价值
单体应用可以进行扩展,但根据业务活动的增长方式,可能难以实现高效扩展。例如,如果系统的某一部分比其他部分使用更多资源,那么切换到一种允许为该部分提供额外资源而不影响其他部分的架构是有意义的。
更常见的情况是,由于组织的扩展方式,单体应用会被拆分。当有数百甚至数千名工程师为同一个代码库做贡献时,沟通不畅和冲突的可能性几乎是无限的。在共享同一个单体应用所有权的团队之间进行协调,往往会使组织回到传统的发布周期模式,即一个团队测试并组装一组更新,然后以一个巨大的包的形式投入生产。这会减慢开发速度,更重要的是,会减慢回滚速度,影响组织应对故障的能力。
将单体应用拆分
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



