题目:论软件的可靠性设计 #
现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性域有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计的概念。可靠性设计就是在常规的软件设计中,应用各种方法和技术,使程序设计在兼顾用户的功能和性能需求的同时,全面满足软件的可靠性要求
请围绕“软件的可靠性设计”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.简要说明目前比较主流的软件可靠性设计技术,结合项目实际情况,阐述所选择的可靠性设计技术及其原因。
3.结合你具体参与管理和开发的实际项目,举例说明所选取的软件可靠性技术的具体实施过程,并详细分析实施效果。
摘要 #
我所在的国内某头部互联网公司,在2021年4月决定搭建一套全新的移动设备指纹分析处理平台项目,该项目的建设目标是为集团提供高效、可靠的移动设备指纹分析、存储及唯一标识移动设备能力,为公司各业务线的安全做好重要的底层支撑;我荣幸地担任本次系统开发的架构师,主要负责整个系统的架构设计、对项目的技术活动进行指导和协调。
经调研发现,该系统需要支持海量数据的读写,并在峰值QPS达到7万的高并发场景下保持高度的可用性,所以选择了非关系型数据库与关系型数据库相互融合的技术作为该项目在存储上的解决方案。本文着重介绍了常见的NoSql技术及其使用场景,同时详细探讨了在该项目中如何实际应用和部署非关系数据库。实践证明:恰当地使用NoSql数据库,使得系统的开发取得了成功,目前系统已稳定运行1年多,赢得了亿级用户的一致好评。