一、开源项目的选择
1.聚焦是否满足业务
聚焦是否满足业务,而不是开源项目是否牛逼。
2.聚焦是否成熟
可以从以下几个方面考察是否成熟:
- 版本号
- 使用的公司数量
- 社区的活跃度
3.聚焦运维能力
可以从以下几个方案去考察运维能力:
- 开源方案日志是否齐全:有的开源方案日志只有寥寥启动停止几行,出了问题 根本无法排查
- 开源方案是否有命令行、管理控制台等维护工具,能够看到系统运行时的 情况
- 开源方案是否有故障检测和恢复的能力,例如告警、倒换等
二、如何使用开源方案
1.深入研究,仔细测试
禁止拿来主义!!
可以从如下几方面对开源项目进行综合评测:
- 通读开源项目的设计文档或者白皮书,了解其设计原理
- 核对每个配置项的作用和影响,识别出关键配置项
- 进行多种场景的性能测试
- 进行压力测试,连续跑几天,观察 cpu、内存、磁盘 io 等指标波动
- 进行故障测试:kill,断电、拔网线、重启 100 次以上、倒换等
2.小心应用,灰度发布
现在非核心的业务上应用,然后再慢慢扩展。
3.做好应急,以防万一
做两手准备,尤其是在敏感度高的地方。
三、如何基于开源项目做二次开发
1.保持纯洁,加以包装
所以我们的建议是不要改动原系统,而是要开发辅助系统 : 监控,报警,负载 均衡,管理等 。
2.发明你要的轮子
没有完全适合你的轮子,开源作者的反馈往往是慢的,因此,在你有钱、有时间、有人的时候可以重复造一个适合自己的轮子。
网友评论