小:可以选用新技术 大:使用成熟技术
紧:买商用的 宽裕:自己搞
有钱:买现成的 没钱:自己撸
高并发、低延迟、高可用、数据一致性、安全性。
选大家都熟悉的:方便开发,排查问题。
领导需要前瞻性。
征求团队意见,大家讨论分析实验。
选择合适的开源协议的软件:GPL/BSD/LGPL。考虑因数:商用、闭源、修改。
我们需要的功能,比如说我们需要一个MQ,标准功能就是发拉消息,pub/sub。
特性 | 描述 |
---|---|
可伸缩性 | 产品在性能上必须能容易且有效地伸缩以满足业务需求增长的需求。 |
灵活性 | 产品必须易于适应新的需求。 |
可操作性 | 产品必须被设计成易于与共享的数据和广泛可得的系统通讯。 |
可扩展性 | 产品功能必须在供应商很少介入的情况下能够定制和快速地增强。 |
可使用性 | 只需很少的培训就能使让顾客使用产品和他的任何特性,产品应该被设计成其目标使用者的技术水平很匹配。 |
高效率 | 产品应能在各种性能水平上工作,能够应付应用对效率的要求。 |
可靠性 | 产品必须有被证实可在预定环境中工作的功能与特性。 |
可管理性 | 产品必须能被配置、部署、监控和优化以确保其在预定的环境中工作良好 |
安全 | 产品必须保护信息和事务的完整性 |
高可用 | 通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 |
技术标准
通讯协议,API标准,实现语言和兼容语言,是否可以扩展。
厂商、社区支持粒度活跃度、服务质量及成本和厂商服务质量。
文档质量,开发效率,学习曲线,项目健康程度,是否容易招人,社区热度,书籍热度。项目相关的需求,比如Web项目框架,还需要考虑是否支持国际化,自动化验证,测试方便程度,扩张性。
必要因数:必须满足的,比如团队技术栈和版权因数 可量化因数:非功能特性、技术标准
选出哪些可以量化因数,有奇数位专家投票选出,超过半数确定。
两轮: 第一轮从所有因数中投票 第二轮从没有超过半数的因数中重新投票
每个专家对上面选出的因数分配权重,总和位100%。然后,对每项因数获得权重求平均值,得到可量化因数的权重。
大范围的选择可以使用的技术,两个角度:
只要不满足必要因数的就pass掉该技术。
每个专家对每个可量化因数打分,范围0-10。每个专家的打分,通过公式算出评分,最后选择评分最高的。
公式:
评分=参数1评分*权重+参数二评分*权重+...+参数N评分*权重