技术方案(开源方案)选型的考量和方法论
我的观点:每个公司的情况不一样,开发人员的能力和语言也不一样,因此方案选型需要根据自身情况而定,没有最好,只有最合适!但是,可以有相关的方法论去帮助我们更好的选择合适的方案!
【资料图】
首要一定要了解清楚背景
首要一定要了解清楚背景,只有背景了解清楚了,大家才能在同一个起点上做相关的决策和讨论,技术方案一定是某个背景下产生的,如果脱离实际业务背景,那么技术方案也无法选择最优的。
这个背景包括的点会比较多,比如当前业务状况、未来发展情况、当然人力情况、现有技术方案等等所有相关的。
技术方案的选择需要团队内部的人员相匹配
技术方案的实现是需要团队内部的开发人员来具体实施的,因此一定要考虑团队内的人员具体情况,并且所选择的技术方案需要和团队内部的人员相匹配。比如编程语言、团队规模、公司业务、公司体量。比如当前这个方案技术人员是否接触过、编程语言是否熟悉、技术人员是否能够完全掌握这个方案等。
但是注意,这里不是说选择完全熟悉的领域或者方案,但是一定是考虑的因素,因为,如果你团队技术人员完全不懂这个技术、语言也不熟悉,选择这个方案后,压根就扛不住啊。 但是如果你团队的人员足够多,技术功底足够扎实,那么选择一个不熟悉的方案能够抗住也是 ok 的。
参照业界标杆选择技术方案(开源方案)
业界标杆选择的技术方案,一定是经过他们专业人士对比、选型之后决策得到的,并且经过了他们的大量的线上实际验证的。因此参考业界标杆,至少不会出错,但是这个仅仅只是一个参照,是否合适自己团队,还要结合本文的其他一个点来考虑。
这里的业界标杆,尽量的是选择国内外都流行的而不仅仅是国内流行的,技术这个东西一定是一个全球化的东西,不是一个局域化的事。所以,一定要选国际化的会更好。
在这个基础之下,我们选择的时候,不是直接使用,而是要看方案是否具备如下能力:
功能点是否满足业务需求,先看是否满足业务诉求,而不是先看开源方案是否更加优秀,一定是在满足业务诉求的基础上再去做抉择。一线互联网公司的落地产品如果是一线互联网公司落地并且开源的,且在社区内形成良好口碑的产品,那么这些产品已经经过了大流量的冲击,坑已经基本被填平,且被社区接受形成一个良好的社区生态。那么这样的产品算是一个比较好的选择,才能让你放心的运用在自己的生产环境中。* 怎么确定呢?这个就靠 Google 来做一些搜索了,看看有没有一些案例;或者有一些项目会明确说明业界有哪些公司已经采用
开源社区活跃度GitHub 上的 stars、 commit、issue、pull request、release 的数量和频率是一个重要指标,同时需要参考其代码和文档更新频率(尤其是近年),这些指标直接反应开源产品的社区活跃度或者说生命力。* 另外,对于不同业务体量和团队规模的公司,技术选型标准往往是不同的,创业公司的技术选型和 BAT 级别公司的技术选型标准可能完全不同。
方案是否具备了生产级的能力我们选择的技术方案是要解决实际业务问题和上生产抗流量的,选择不慎可能造成生产级事故,所以生产级,可运维,可治理,成熟稳定的技术才是我们的首选;怎么判定是否生成级可用?看 release 版本是否有发布正式环境,是否有 1.0 版本。怎么判定成熟稳重? 看是否有一些实际业务在使用。运维能力也是必须要考虑的,否则一旦出问题,运维、研发、测试都只能干瞪眼.代码整体质量是非常重要的,包括代码的功能特性、可扩展性、性能、可靠性和可用性规范的代码风格合理的代码组织结构覆盖度高的单元测试用例有一定的性能测试数据代码可以较好的进行扩展代码的 bug 要少尽量不要重复造轮子
尽可能的使用红利大的主流技术,而不要自己重复造轮子,更不要魔改。如果市面上已经有比较合适的方案后,我们尽可能的采用主流的开源方案;如果某些场景和功能,当前市面上的方案不满足,我们应该是给他们提 PR ,或者自己扩展支持,但是还是采用市面上已有的,这样等他们升级后,我们依然还是可以跟着升级。
开源方案一般情况下可以满足我们大部分的需求,部分需求不满足的时候,需要慎重考虑这个需求点是否真的有必要?是否属于不可替代需求?
不要过度设计
大家都希望自己的系统低耦合,通用性强,可以完成任意的后续功能的组合,但这也要有个度。
如果你自己认为自己的技术架构能力很强,知道代码在编写中低耦合高扩展,你可以在设计的时候,在满足现有需求的基础上,以不额外增加开发成本为前提,来做一些扩展预留的考虑。但是,如果你技术架构能力不强,满足现有需求即可,尽量做到低耦合,代码要尽可能间接,并写好代码注释。
另外一点就是不要只谈架构方案设计,其实代码层面的设计也是非常重要的,包括分层/模块/接口 等一定要考虑好,其实很多时候,与其做一套通用架构,不如让自己的代码更容易被修改,特别是对于技术架构能力不是特别高的开发者。
合适才是最重要的
最后,要说明下,合适的才是最重要的,技术方案和架构演进不是一蹴而就的,最重要的适合当前的业务场景需要
举个例子,当前业务对并发的要求并不高,你就没有必要非得现在选择一个能够抗住百万、千万的方案,因为这个方案不适合当前架构,初期构造太复杂,反而会让你失去焦点,并且让整体架构(技术方案)逐渐腐烂。
推荐阅读
推荐阅读我的其他文章:
《高并发架构和系统设计经验》
《TCP 长连接层的设计和 在 IM 项目中实战应用》
《万字解读云原生时代,如何从 0 到 1 构建 K8s 容器平台的 LB(Nginx)负载均衡体系》
《高可用架构和系统设计经验》
关键词:
(责任编辑:黄俊飞)推荐内容
- 技术方案(开源方案)选型的考量和方法论
- 联通网上营业厅如何查话费和办理业务呢_
- 今日要闻!校内调剂的意思_校内调剂的条件
- 哪来的底气!男子假报火警还跟消防员“犟
- 环球聚焦:全球旅游业加速复苏(国际视点
- 今天最新消息 青海:“茫洋崖畔”区域公
- 苏州首批供地:招商蛇口9.19亿竞得群力路
- 天天即时看!博士眼镜2月16日盘中涨幅达5%
- 世界滚动:白俄罗斯总统卢卡申科携全家逃
- 苹果5S支持电信4G网络吗|天天速读
- 今日视点:褪黑素的作用与功效禁忌_褪黑
- 观音菩萨诞辰,观音菩萨出家日 观音菩萨
- 梦见蛇是怎么回事_全球观察
- dvd光盘电脑读不出来_dvd光盘读不出来怎
- 【全球新视野】度母是什么菩萨_度母是什么
- 【环球速看料】外交部副部长马朝旭会见伊
- 【全球新要闻】达安基因:公司已获得“诺
- 梦幻西游铃铛任务怎么做 梦幻西游铃铛任
- 当前资讯!20岁朱易晒近照,穿着太朴素!
- MACD是什么
- 有什么好看的电影推荐一下 5部值得一看
- 环球焦点!卵巢癌|前AV女优麻美由真25岁
- 征信可以查询几次
- 洋葱炒鸡蛋的5种家常做法
- ETF突发 | 人工智能ETF走强 创近10个
- 世界热议:毕业后,他们的经历有些特别
- 环球热点!葫芦娃大作战什么时候出 公测
- 怎么取消电脑开机密码登录:今日报
- 城管没收孩子作业桌!官方:责令道歉
- 【环球聚看点】暖宫孕子丸说明书及功效
- 前沿资讯!一级建造师分类用途_一级建造师
- 环球热文:形容时光飞逝的句子
- 重点聚焦!塔吊司机安全技术操作规程 塔
- 如何使用photoshop制作艺术字体特效|全球快看
- 给喜欢的男生送什么生日礼物好
- 【全球时快讯】陕西送礼特产上档次的
- 环球讯息:描写水面的好句子
- 【全球时快讯】绿城房地产“20绿城房产MT
- 500枚!日本明确-焦点热议
- 增值税一般纳税人网上报税操作流程
- 今日讯!谷歌母公司董事长谈Bard:不想推
- 后杜兰特篮网建队方案:4换1追得分王做老
- 体质健康网登录_中国体质健康网
- 老婆送老公生日礼物排行榜-当前时讯
- 焦点热文:remark是什么意思_remark的用法
- 觅风的寓意
- 浙江华业深交所IPO过会,要求说明根据对
- 沈婉儿的结局_播报
- 长辈礼物送什么好_世界时讯
- 加氢站建设狂飙?! 全球球精选
- 全球最新:最美“雪警”在一线
- 播报:欧美脸高级,幼态脸就低级?教你如
- 农业银行行号查询系统_农行银行行号查询
- 焦点简讯:表格乱码怎么解决_乱码怎么解决
- 央行:1月末社融存量350.93万亿,同比增9
- 公羊救援队继续在土耳其搜救 目前已搜寻
- 注意!浏阳2月28日前买房,全额返契税!
- 遭遇两连败,金彭贝赛后向球迷喊话呼吁继
- Scotto:去年太阳篮网针对KD谈判的主要筹
- hrb400钢筋符号大全可复制_钢筋符号大全
- 有什么好看的电影推荐一下 5部值得一看
- 环球焦点!卵巢癌|前AV女优麻美由真25岁
- 征信可以查询几次
- 洋葱炒鸡蛋的5种家常做法
- ETF突发 | 人工智能ETF走强 创近10个
- 世界热议:毕业后,他们的经历有些特别
- 环球热点!葫芦娃大作战什么时候出 公测
- 怎么取消电脑开机密码登录:今日报
- 城管没收孩子作业桌!官方:责令道歉
- 【环球聚看点】暖宫孕子丸说明书及功效
- 前沿资讯!一级建造师分类用途_一级建造师
- 环球热文:形容时光飞逝的句子
- 重点聚焦!塔吊司机安全技术操作规程 塔
- 如何使用photoshop制作艺术字体特效|全球快看
- 给喜欢的男生送什么生日礼物好
- 【全球时快讯】陕西送礼特产上档次的
- 环球讯息:描写水面的好句子
- 【全球时快讯】绿城房地产“20绿城房产MT
- 500枚!日本明确-焦点热议
- 增值税一般纳税人网上报税操作流程
- 今日讯!谷歌母公司董事长谈Bard:不想推
- 后杜兰特篮网建队方案:4换1追得分王做老
- 体质健康网登录_中国体质健康网
- 老婆送老公生日礼物排行榜-当前时讯
- 焦点热文:remark是什么意思_remark的用法
- 觅风的寓意
- 浙江华业深交所IPO过会,要求说明根据对
- 沈婉儿的结局_播报
- 长辈礼物送什么好_世界时讯
- 加氢站建设狂飙?! 全球球精选
- 全球最新:最美“雪警”在一线
- 播报:欧美脸高级,幼态脸就低级?教你如
- 农业银行行号查询系统_农行银行行号查询
- 焦点简讯:表格乱码怎么解决_乱码怎么解决
- 央行:1月末社融存量350.93万亿,同比增9
- 公羊救援队继续在土耳其搜救 目前已搜寻
- 注意!浏阳2月28日前买房,全额返契税!
- 遭遇两连败,金彭贝赛后向球迷喊话呼吁继
- Scotto:去年太阳篮网针对KD谈判的主要筹
- hrb400钢筋符号大全可复制_钢筋符号大全
- 男生不给妈妈买礼物
- 1月信贷、存款双创新高,企业居民预期错位
- 苹果退款能退几笔 苹果退款可以退几次
- 王阳明心学三秘诀,教你静心
- 半套和全套的区别
- 近期早晚在用的6款贵妇精华分享,初春皮
- 天天即时:战双:世界:第89章:大机甲
- 二月的英语是什么?:环球快资讯
- 每日热闻!伊戈尔: 关于向激励对象首次授
- 西门子智能手机_西门子手机怎么样
- 天天快讯:看奔驰CLK GTR如何与之共存
- C罗达成联赛500球里程碑,亚足联官推制作
- 实用易懂的网站软文写作技巧:天天观热点
- 德国援乌开始展示出欧洲大哥的实力了:快
- 领导骨折适合送什么礼物:今日报
- 月嫂培训哪家机构好 月嫂培训机构排行榜
- 量化大厂“员工缩水”?私募抢人大战“密
- 移动平均法例题讲解_移动平均法例题-全球
- 激发市场活力 山西推动文旅行业回暖升级
- 怎么输入带圈数字①②③④⑤⑧㊸㊹㊺㊻㊼