知识卡片
选开源项目:聚焦运维能力,而非只看技术指标
内容
大部分架构师在选择开源项目时,基本都聚焦于技术指标——性能、可用性、功能这些评估点,而几乎不会去关注运维方面的能力。但如果要把项目应用到线上生产环境,运维能力是必不可少的一环,否则一旦出问题,运维、研发、测试都只能干瞪眼,只能求菩萨保佑。可以从三个方面考察一个开源项目的运维能力:开源项目的日志是否齐全(有的开源项目日志只有寥寥几行启动停止记录,出了问题根本无法排查);开源项目是否有命令行、管理控制台等维护工具,能够看到系统运行时的情况;开源项目是否有故障检测和恢复的能力,例如告警、切换等。如果是开源库(例如Netty这种网络库),本身是不具备运维能力的,那就需要在使用这个库的时候,自己主动把一些关键信息通过日志记录下来——例如在Netty的Handler里面打印一些关键日志,用这种方式把运维能力”补”在库的使用层,而不是指望库本身自带。
参考来源
- 位置:《从零开始学架构》第48讲《再谈开源项目:如何选择、使用以及二次开发?》"选:如何选择一个开源项目"之"聚焦运维能力"(源文件:_epub-src/OEBPS/text00003.html)
- 结论依据:原文说明"运维能力是必不可少的一环,否则一旦出问题,运维、研发、测试都只能干瞪眼,求菩萨保佑了!你可以从这几个方面去考察运维能力:开源项目日志是否齐全……开源项目是否有命令行、管理控制台等维护工具……开源项目是否有故障检测和恢复的能力……如果是开源库……那么就需要在使用库的时候将一些关键信息通过日志记录下来",直接支撑本卡结论。
- 原始内容:运维能力是必不可少的一环,否则一旦出问题,运维、研发、测试都只能干瞪眼,求菩萨保佑了!……如果是开源库,例如 Netty 这种网络库,本身是不具备运维能力的,那么就需要在使用库的时候将一些关键信息通过日志记录下来,例如在 Netty 的 Handler 里面打印一些关键日志