欢迎来到天天文库
浏览记录
ID:48278451
大小:2.01 MB
页数:14页
时间:2019-11-27
《软件项目投标用技术部分精编》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.方案技术展现1.1总体概要遵循《*****项目》设计原则要求目标Ø必须满足项目的各项功能需求;Ø架构必须满足简单、安全升级扩展、伸缩;Ø全面、准确地界定系统架构涉及的范围;Ø清楚定义内部系统与外部系统的边界以及交互约定;Ø确定各微服务的具体职责,微服务间的交互协议和交互过程;Ø确定系统的开发、部署、运维平台的相应规范;Ø为系统设计和后续编码、测试、维护提供原则、基础和规范;1.1.1关键质量属性系统的质量属性1、可用性:与系统故障及其相关后果有关,系统不能就规范中所说明的服务出现故障。2、可修改性
2、:是有关变更的成本问题,关注变更什么(artifact),何时变更(environment),由谁变更(source)。3、性能:与时间有关,事件发生时,系统必须对其做出相应处理。4、安全性:衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。主要关注的是数据和服务的安全性。5、可测试性:通过测试揭示软件缺陷的容易程度。6、易用性:关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持种类。7、响应速度:查询不超1秒,其他平均不超1秒架构的质量属性1、概念完整性:在各个层次上统一项
3、目设计的根本指导思想2、正确性和完整性:架构能够满足项目的各种需求和运行时的资源要求的必要条件;3、可构建性:保证能够由指导开发小组在规定的时间里即时开发系统,并允许在开发过程作些更改的架构属性.1.1.2架构设计原则本架构着重考虑项目..的互用性、扩展性、灵活性、扩充性为原则,采用微服务,公众号服务采用微服务架构,并且使用当今流行的Docker容器部署。微服务架构的演进历史Ø单体应用架构–Monolithic:业务错综复杂、相互依赖、紧耦合、高风险基于简单的MVC分层架构,比较流行的技术栈是SSH
4、或SSM。Ø面向服务架构–SOA:业务分拆、松耦合、分层、服务治理、稳定性提高了、风险降低了SOA服务化架构,解决了传统企业异构系统之间的互通和互联网企业快速开发迭代的服务化架构,最典型的SOA框架是阿里巴巴开源的Dubbo框架Ø微服务架构–MSA:基于SOA,更细粒度、敏捷性、灵活部署、精准扩展、自主开发部署MSA微服务架构,通过将功能分解到各个离散的服务中移实现对解决方案的解耦。微服务架构设计的十二个基本要素Ø基准代码:一份基准代码,多份部署Ø依赖:显式声明依赖关系Ø配置:在环境中存储配置Ø后端
5、服务:把后端服务当作附加资源Ø构建,发布,运行:严格分离构建和运行Ø进程:以一个或多个无状态进程运行应用Ø端口绑定:通过端口绑定提供服务Ø并发:通过进程模型进行扩展Ø易处理:快速启动和优雅终止可最大化健壮性Ø开发环境与线上环境等价:尽可能的保持开发,预发布,线上环境相同Ø日志:把日志当作事件流Ø管理进程:后台管理任务当作一次性进程运行1.2技术概要1.2.1Web端结构及框架的技术规范Vuejs..是当前最流行的前端框架,开源免费,以数据驱动和组件化的思想构建的,双向绑定。采用虚拟dom技术。比直接
6、操作dom的效率高3倍。同时,虚拟dom技术无关浏览器厂商与型号,研发人员不再关心各浏览器细节。关注重心可以向业务实现倾斜。用于业务逻辑的研发的时间有效增加,对于交付时间与交付质量有更有保障。1.2.2系统所使用数据库的技术规范公众号服务采用mysql做为数据库,作为核心事务数据库。随着当今企业纷纷采用大数据,其信息架构不断发展演变。大数据时代新的信息架构采用Hadoop,spark等新兴技术,数据仓库基于hbase构建而成,部分数据由mysql导入,部分数据从日志中采集。1.2.3数据库集群方案Ø
7、LVS+Keepalived+MySQL集群搭建架构图如下:根据业界主流指标测算,以及我们的多次压测结果表明,按照我们的集群方案,单台mysql服务器(8核6G的配置)每秒并发可以实现550左右,即单台服务器一秒钟可以同时支持550条订单记录并行写入,如果发生更大并发,通过异步写入、消息队列等处理,可以解决并发10万以上的业务需要。即在处理高并发时,我们针对热点数据采用内存数据库,redis或Hazelcast、消息组件采用Kafka,对数据采用异步处理、服务器可以伸缩扩展。原则上在硬件资源足够的情
8、况下,能最多做到每秒100万并发。附:我们压测抽样情况截图:..所有数据均不删除,实现问题可追溯。1.2.4服务开发语言及工具本次系统采用Java开源的编程语言来开发,它具有以下有点:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。开发框架则采用当前流行的Springboot框架,致力于将各种现有流行技术整合为一个整体的框架并使之完全融合,springboot生成的应用程序无关平台性,可以在任何安装有java环境的计算机上运行
此文档下载收益归作者所有