如何进行架构技术选型

一、什么是技术选型

为了达到业务需求,从各种技术选择中选取最优的过程。

开发语言: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等

完整产品

主要考虑产品在不同生命周期上的特点,团队能力发展,公司技术演进等

整体业务

主要考虑如何快速拿到业务收益,关注长期技术演进方向

你可能感兴趣的:(MicroService,Architecture,架构,技术选型)