如何进行架构技术选型
一、什么是技术选型为了达到业务需求,从各种技术选择中选取最优的过程。开发语言:Java,Python,C++中间件:Mysql/PGSQL,Redis/Memcache微服务框架:SpringCloud,Dubbo,K8S二、怎么做技术选型2.1)需求分析技术选型应该以业务需求为基础,尽可能稳定,高效的支持业务发展。2.1.1)需求满足:尽力理解需求,以及未来需求可能的变化,即发展的方向。2.1.
一、什么是技术选型
为了达到业务需求,从各种技术选择中选取最优的过程。
开发语言:Java,Python,C++
中间件:Mysql/PGSQL,Redis/Memcache
微服务框架:SpringCloud,Dubbo,K8S
二、怎么做技术选型
2.1)需求分析
技术选型应该以业务需求为基础,尽可能稳定,高效的支持业务发展。
2.1.1)需求满足:尽力理解需求,以及未来需求可能的变化,即发展的方向。
2.1.2)指标要求:理解需求的关键因素,性能、稳定性、存储周期、存储量等。
2.1.3)团队情况:技术需要落地,落地依赖工程师,需要结合团队能力,团队技术体系,公司的基础建设来判断。
2.2)列举技术方案
通过多方面查找各种可能性的技术方案。
2.3)对比评估
制作比对表格,选择一个可能的解法。
需求 | 方案一 | 方案二 | 方案三 |
核心需求1 | 合适 | 很合适 | 不合适 |
核心需求2 | |||
核心需求3 | |||
.。。。 | |||
团队的熟悉程度 | 不熟悉 | 熟悉 | 一般 |
上手难度 | 高 | 中 | 低 |
服务迁移成本 | |||
维护成本 | |||
2.4)实现最小系统
如有必要,根据选定的技术方案,进行最小系统的构建和实验。
三、不同需求规模的技术选型
技术选型在满足业务需求的同时要最大化投入产出比。
需求种类 | 考虑维度 |
个人项目 | 开发周期短,主要考虑个人的投入产出 |
单个需求 | 主要考虑团队能力,公司技术积累,项目的milestone等 |
完整产品 | 主要考虑产品在不同生命周期上的特点,团队能力发展,公司技术演进等 |
整体业务 | 主要考虑如何快速拿到业务收益,关注长期技术演进方向 |
更多推荐
所有评论(0)