第 1 章 绪论
1.1 概研究的背景与意义
1.1.1 研究背景
自 20 世纪 90 年代起,互联网络就以人们不可预估的速度,快速地进入我们的生活。人与网络形成了不可分割的状态,网络给人类带来全新的交互体验。而随着人类思维在互联网络中深入延伸与发展,网络也需要不断适应人类需求的各种场景。分布式站点是目前最为适用于各场景的应用架构之一,它提供了更松散、安全、稳定的数据存储与集成方式,也能提供更为高效和丰富的后台数据支撑服务,为各种应用场景所采用。几十年来,人们对于互联网络站点的认知发生了巨大的改变。在网站发布初期,大多数人都将网站当作―门脸招牌‖,开发一个官网,作为最终需求,仅用于增加一个渠道展示公司形象。自 2008 年后,政府部门相关站点开始增设线上提交工作流程序、管理工作流程、公众参与投票及信息收集等功能,带头拉动了网站的实用性发展。网络技术跟随需求发展迅速提升,国内涌现出了更多专业的技术和开发团队;同时,网站的分类也越来越细化,例如:淘宝、易趣等C2C 模式的站点,亚马逊、京东等 B2C 模式的站点,阿里巴巴等 B2B 模式的站点。除了普通电商平台,娱乐项目也在线上扩展,例如:魔兽世界、英雄联盟之类的 MMOG 游戏,极品飞车、雷曼、泡泡堂等 PMG 游戏得到速猛发展。同时,将商务与娱乐等功能相整合的教育类项目也在互联网上开始发展,集娱乐与教育于一体的在线教育模式,不仅能提高教育的效率与效果,也能极大扩充教育的受众群体。当然,随着各种网络需求的不断提升,数据量时时都在呈现爆炸式增长——动辄达到数百 TB,甚至数十至数百 PB,已远远超出了传统技术的处理能力——这就对数据存储与分析技术提出了更高的要求[1]。对网站建设的性能要求,已成为不可规避的问题。
..........
1.2 国内外研究现状
近年来分布式技术研究和发展在各领域得到广泛的应用,关键技术已逐渐走向成熟。分布式技术的关键技术的研发与发展,已得到广泛应用。其技术不仅涉及网络应用,对于程序语言、数据库系统、操作系统、计算、文件系统等也得到了广泛应用[2]。
1.2.1 国外研究现状
由于分布式站点的应用价值,其研究主体主要是大型互联网企业。Google在 2003 年,发表 Google Cluster Architecture 文章,其 Cluster 结构组成为硬件LB+Index Cluster+Doc Cluster+大量廉价服务器,通过并行处理+sharding 来保证在降低对硬件要求的同时,响应速度仍然很快。Google 又于 2004 年中做了一些大的改进,使用低廉的设备配合 MapReduce 实现大公司以往需要大额购置服务器设备才能完成的运算能力。2006 年,Google 发表了 BigTable 和Chubby:Chubby 是一个分布式锁服务,Google 还利用算法 Paxos 设计出BigTable 模型用于对结构化的数据进行存储,将对海量数据的相关分析运行到线上系统[3]。Twitter 在 2006 年诞生之时是采用 Ruby On Rails+ MySQL 构建的,2007年增加了 Memcached 作为 Cache 层,以提升响应速度。基于 Ruby on Rails 让Twitter 享受到了快速的开发能力。Twitter 采用分库分表的方式来支撑大数据量,使用 Memcached 来 Cache tweet,timeline 的信息则迁移为用 Redis 来Cache[4]。学术层面,也有较多学者进行了研究。例如,FL Lian 等(2002)即提出了利用分布式控制系统的原理来进行网络设计与开发的思路[5];V Jayaraman(2003)为分布式网络的设计与管理提出了一种仿真算法[6];D Ambrosino 等(2005)经过对分布式网络技术模型的综述,系统归纳了分布式网络设计中的难题[7];NBerente 等(2008)提出了分布式网络设计中 IT 技术应用的一些原则[8];DNKallergis 等(2014)研究了分布式移动社交网络框架的设计问题[9];LJiao 等(2016)研究了多节点分布式云网络中的在线资源优化配置问题[10];JP Kruys 等(2016)研究了分布式无线传感网络中的双边流量控制问题[11];L Al-Awami 等(2016)提出了一种在无线传感网络中进行分布式数据存储的技术[12]。
........
第 2 章 项目概况与总体要求
2.1 项目概况
2.1.1 项目业务概况
Z 项目是一所在线教育平台,主要由清华老师在线私教,并始终倡导―最合适的才是最好的‖,主要学生群体为小学一年级到高中三年级的现在中小学生,专注于适合 10-18 岁青少年的学习方式。到目前为止已超过 5000+名来自一线与二线城市的优秀教师,并自主研发超过 1000+套教材资料,学员可通过平台自主研发的在线视频授课系统在家与老师连线上课,同步体验名师教学风采。随着业务的不断攀升,现有系统现已分离的很多业务结点,但传统的架构很难抵抗日渐增涨的业务数据。至此,在不影响和改变其现有业务的情况下,对平台架构做一次基础的改变。教育平台由线下移至线上,实现远程教育,其功能方面上汇集了各行各业的有益建议与应用,与管理中的知识理念。平台专业性的针对中小学受众群体提供远程教育的解决方案,为中小学生提供更方便稳定的教学平台,同时有效地保护客户的数据。在线教育管理平台是针对中小学生的教育、考试需求而专门设计,为实现对学员,家长,平台,自由家教等多边用户需求的在线管理系统,节省线下资源与人力成本,实现网络授课与网络管理的一体化。
........
2.2 项目的总体要求
2.2.1 项目的功能要求
(1) 系统必须具有高度安全性与稳定性双项结合为基础,保证系统在数据传输过程中的流畅与快速响应,预防外部入侵木马或黑客等的非法攻击,保证数据的完整性和安全性,以防破解,防盗链为基础。(2) 系统至少达到每秒 5W 的并发量,以应对高峰值的现象。(3) 更好的易用性,提升用户体验,用户使用前,达到无培训即可上手操作,并对资源的管理可实现共享与快速分发等功能。(4) 增强系统的可维护性,对于系统部署、数据移植、应急事件响应、回滚等进行即时处理,尽可能先脚本先行,再人工干涉的流程。(5) 提升系统权限管理机制,在多系统之间采用单点登录及权限授权机制,简易、安全、高效的实现用户授权,实现多系统间数据转换。(6) 考虑今后系统的扩展,实现业务数据的高可用及无障碍扩展。
.........
第 3 章 Z 项目分布式架构设计的逻辑分析..........11
3.1 Z 项目当前状态的需求分析............11
3.2 Z 项目当前架构设计存在的问题..............13
3.3 Z 项目架构优化设计的基本方案..............13
3.4 Z 项目分布式架构设计的目标........13
3.5 Z 项目分布式架构设计的准备工作..........14
3.6 本章小结 .............15
第 4 章 Z 项目的分布式架构设计与实施..............16
4.1 Z 项目分布式架构的总体规划........16
4.2 服务器实施标准 ...........17
4.3 数据库实施与管理 .......23
4.4 缓存实施与管理 ...........25
4.5 算法设计与实施管理 .............30
4.6 分布式架构设计的其它技术应用 .............32
4.7 本章小结 .............33
第 5 章 Z 项目分布式架构的评测流程及风控方案........34
5.1 分布式架构测试 ...........34
5.2 分布式架构的风险和应急管理 .......42
5.3 本章小结 .............43
第 5 章 Z 项目分布式架构的评测流程及风控方案
5.1 分布式架构测试
分布式站点测试规范是为了验证系统是否达到需求说明中和各项指标,常规考核指标由界面、性能、功能、易用等组成。其中,性能指标比较重要,判断收集数据变化,分析并得出结论,提出解决方案。性能测试流程总是围绕收集数据 查找关键问题 优化系统的步骤周而复始的进行。性能测试的四项重要指标如下:(1) 在测试与实际环境中测试和评估的满意度,确认可否达到需求说明的要求。(2) 在不断增加的负荷测试中得出缺陷与系统瓶颈,以此数据与结果为后期进行优化改进的基础。(3) 给出优化方案、指标参数,保证系统性能。测试指标中需要有系统响应时间,稳定周期,最大并发量,事务成功率等。(4) 进行性能优化测试后,再次重复测试,验证预期结果,从而获得最终改进性能方案。
........
结论
通过此次在线教育系统的全面改造,基于分布式技术的理论与实践相结合,并对项目进行技术与质量的工程管理,详细分析与深入研究需求与技术。满足 Z项目现运营需求,及未来业务扩展所提供有力支撑。同时,采用综合评测体系,引用 ISO9001 标准,安全、有效的完成系统的开发与实施。Z 项目的整体框架改进内容总结如下:(1) 在业务方面,充分考虑当前需求与后期扩展,将数据库表的数据进行业务分读,并采取读写库分离,且采用服务器数据同步,主从备份等技术,明显提高了业务吞吐数据的能力。(2) 引入缓存与算法分析,高效的提升了开发能力,同时规避突发性热数据带来的服务器雪崩情况。(3) 系统改造力度较强,系统影响面较大,梳理工程各环节步骤与进度,严控项目风险。此次 Z 项目的工程实施是一个漫长而艰难的过程,最后的数据结果非常让人欣慰。对项目的现有需求分析、规划、管理、实施、评测、发布的系统流程,将一个庞大的工程历经半年的时间升级完成。在管理与实施分布式技术期间,存在一些应用无法满足框架要求,对此,一部分技术并没有全部采用。因而,并不能完全单凭此次 Z 项目的评测数据,用于评测分布式技术的适应性与性能指标。分布式技术已渗透至各行各业,伴随着新智能与科技领域的发展,分布式技术也将会面临更多的挑战或突变。
..........
参考文献(略)