本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!
作者| 慕课网精英讲师陈于吉吉
我们都知道,现在在微服务市场比较流行的有 2 大框架,一个是 Ali 的 Dubbo,一个是 SpringCloud。两者孰优孰劣一直是一个比较令人头疼的问题。
1. 技术选型考虑的要素
其实我们可以先不去考虑是采用 Dubbo 还是 SpringCloud,而是回到技术选型本身,先看下技术选型可能存在的指标,然后根据这些指标来考虑到底是选择那个微服务框架。
考虑要素 |
评判 |
背景 |
调研选型技术的背景,了解来源 |
是否满足业务需求 |
是否能满足业务的需求,切记避免过重引用,技术是支撑业务,避免太过超前于业务 |
成本 |
成本包含了人力成本,时间成本,还有资源硬件成本 |
是否开源 |
如果是开源,应该清楚开源的组织是哪一家,谨慎使用社区版 |
社区活跃度 |
社区活跃度在一定程度决定软件质量,当你碰到问题之前活跃的社区已经有其他人碰到过,并可能已经很好的解决 |
安全性 |
了解框架或组件是否存在漏洞 |
与本公司技术栈是否一致 |
尽可能考虑与公司技术栈一致或相差不关的技术,可以保证质量和成本 |
是否是自己熟悉的技术 |
一次选型不要引用过多未知新技术,避免出现过多不可控风险,保证稳定 |
稳定性 |
系统是否开源长期运行,是否已经经得住考验 |
扩展性 |
是否兼容其他平台,是否可以进行二次开发 |
性能效率 |
考虑吞吐率,响应时间等等 |
技术前进的步伐 |
选择的技术什么周期必须明显长于项目的生命周期,确保技术本身都紧跟时间进行迭代 |
可以看到,技术选型需要评估的指标还是非常多的,也是要个很需要经验的决策。要进行大量的调研和输入,根据现有的业务情况作出一个符合自身情况的决策。
我们在做技术选型的时候最忌讳的是临时抱佛脚,在网上随意搜索几个对比文章利用这些碎片化信息来做出决策。一定要确保我们的选型是基于当前业务增长的判断,还要弄清楚业务事实