hjr-如何做技术选型

当我们对一个软件系统做架构设计的时候,避不开的问题就是做技术选型,
那我们需要考量哪些因素呢

一般来说我们的一个软件系统主要会包含

1、开发语言,这个直接决定了后续很多框架的基调,
应该结合团队技术栈首先确定
2、中间件,一般做 数据存储 流转 缓存等工作
3、各种框架

三个主要的组成部分

原则

1、也是最关键的一点,法律协议是否符合公司要求
2、一般我们常考虑的是 优先满足需求 和 与当前团队技术栈吻合
找到 技术前景 与 开发周期和成本 的平衡
3、然后我们要考虑技术的性能是否能满足后续的拓展,和社区活跃度是否能保障遇到问题可以很好的解决

语言

语言的话一般分为编译语言和脚本语言

这里建议大型软件系统使用如JAVA之类的编译语言,同时某些组件化模块如AI算法可以使用如Python这种脚本语言

比如在项目过程中

举几个例子

JAVA与Go的选型

这里考虑到后端团队80%以上都是用的JAVA,
从并且技术成熟度,框架丰富程度,
资料完善程度都是因此最后选择了JAVA

中间件

中间件一般是软件系统中不同模块之间进行交互使用的

如多个系统可以使用Mysql作为数据库,使用Kafka做消息中间件

举几个例子

时序数据库的选型

Influxdb 与 TDengine
首先考虑数据库性能是否满足需求,在满足需求的基础上会继续考虑
是否有大型项目背书,使用是否方便,
集成到代码里是否简单
开源协议,商业版收费情况等等

框架

举几个例子

微服务框架的选型

spring cloud 与 Dubbo

当时首先考虑 spring cloud 有之前项目的技术资源可以复用,符合降低开发周期和成本的考虑,同时社区活跃度会更高一些,具有完善的一系列组件支撑,因此最后选择了spring cloud

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值