工作第八年,参与过十几次技术选型。踩过 "为了新而新" 的坑,也见过保守到错过窗口期的团队。分享一下现在自己用的判断框架。
一、先问为什么
如果现有方案能解决问题,只是"不够优雅",那多半不该换。选型的动机应该是能力缺口,不是审美。
二、把成本算全
- 学习成本:团队多久能上手并排障
- 运维成本:多一个组件的监控、备份、升级谁负责
- 退出成本:三年后想换掉,数据怎么迁
大多数选型失败的案例,是只算了第一个,后两个没人提。
三、看失败案例,而不是成功案例
官方文档写的是"能做什么",社区 issue 和故障复盘才告诉你"什么时候会崩"。搜索一下「组件名 + 事故」,往往比看一张性能对比图有用。
四、可逆性优先
两个方案差不多时,选更容易反悔的那个。数据模型、消息队列这类一旦落地就很难换的东西,宁可保守一点。
最后
技术选型没有标准答案,只有当下约束下的合理答案。写下来当时为什么这么选,一年后回看会感谢自己。