知识卡片
选开源项目要优先看成熟度而非新特性
内容
新开源项目常标榜性能更高功能更强,但往往隐藏更不成熟的代价——再厉害的开发者写的项目也会有bug,生产环境风险是宕机、数据损坏甚至丢失且无法恢复。判断成熟度可看版本号、使用该项目的公司数量规模、社区活跃度。容易被忽视的是运维能力——出问题能否靠日志定位、有无管理工具和自愈机制,直接决定出事时能否快速止损。发散:选型表常只有性能和功能两栏,但成熟度和运维能力这两个维度,恰恰决定故障后果的严重程度。
参考来源
- 位置:《从0开始学架构》第53章《48|再谈开源项目:如何选择、使用以及二次开发?》"聚焦运维能力"一节(源文件:_epub-src/OEBPS/Text/part0052_split_002.html)
- 结论依据:原文明确"除非特殊情况,否则不要选0.X版本的,至少选1.X版本的,版本号越高越好",并指出"大部分架构师在选择开源项目时,基本上都是聚焦于技术指标……而几乎不会去关注运维方面的能力。但如果要将项目应用到线上生产环境,则运维能力是必不可少的一环,否则一旦出问题,运维、研发、测试都只能干瞪眼"。
- 原始内容:除非特殊情况,否则不要选0.X版本的,至少选1.X版本的,版本号越高越好……大部分架构师在选择开源项目时,基本上都是聚焦于技术指标……而几乎不会去关注运维方面的能力……一旦出问题,运维、研发、测试都只能干瞪眼,求菩萨保佑了!