知识卡片

选开源项目要看是否满足业务而非是否够优秀

普通读书笔记卡 · 1694

内容

面对功能相似的开源项目,容易陷入”哪个更优秀”的焦虑,但该问的是”能否满足当前业务需求”。某社交业务引入 Tokyo Tyrant 想替代 Memcached+MySQL,结果两套存储并存,还因复杂功能带来更多 bug,而原组合本就够用。发散:这是”合适原则”与”演化原则”在选型上的应用——为未来需求过度选型本身就是不必要的复杂度。

参考来源

- 位置:《从0开始学架构》第53章《48|再谈开源项目:如何选择、使用以及二次开发?》"Tokyo Tyrant的教训"一节(源文件:_epub-src/OEBPS/Text/part0052_split_001.html) - 结论依据:原文明确"在开发一个社交类业务时,我们使用了TT(Tokyo Tyrant)开源项目,觉得既能够做缓存取代Memcached,又有持久化存储功能,还可以取代MySQL……后来我们反思和总结,其实当时的业务Memcached + MySQL完全能够满足,而且大家都熟悉,其实完全不需要引入TT"。 - 原始内容:在开发一个社交类业务时,我们使用了TT(Tokyo Tyrant)开源项目……觉得很强大,于是就在业务里面大量使用了。但后来的使用过程让人很郁闷……后来我们反思和总结,其实当时的业务Memcached + MySQL完全能够满足……其实完全不需要引入TT。