互联网应用的架构特点及架构设计的总体思路
|
高并发 |
- 高并发的概念及其评价指标
- 用户数 / 用户并发数 / 最大用户并发数
- 吞吐量 / 每秒事务数 / 事务响应时间
- 高并发问题的解决思路
- 目标→问题→方案
- 横向扩展与纵向扩展
- 分布式计算与冗余设计
|
大数据 |
- 大数据的概念及其评价指标
- 数据量与数据增长量
- 数据分布与使用的规律
- 大数据问题的解决思路
- 三种不同的操作类型:业务处理 / 随机查询 / 分析统计
- 并行操作与异步处理
- 集中式处理 vs. 分布式处理
|
可靠性 |
-
高可靠性在三个层面的概念
- 持续运行不出错
- 快速而自动地故障恢复
- 可恢复并数据不丢失
- 高可靠性的设计思路
- 冗余设计
- 备份与恢复策略
|
针对高并发问题的架构设计 |
为高并发问题制订解决的目标 |
- 制订总体的质量目标
- 采集并分析现有数据
- 建立模型预测日后的性能指标
案例:某大型网络开票系统的性能分析过程
|
梳理和分析系统存在的瓶颈点 |
- 网络问题
-
地域分布与智能DNS
- 动态网页静态化与CDN
- 集中式 vs. 分布式
案例:某大型网络邮件系统的分布式改造过程
- 业务处理过程
1) 读写分离设计与实现
- MySQL主从机的读写分离实现
- 基于同步工具的读写分离实现
2) 数据库拆分的设计与实现
- 按业务横向拆分
案例:金税三期的架构设计
案例:淘宝网横向拆分的架构设计
- 按地域纵向拆分
案例:淘宝网的库存管理架构设计
- 数据库表分区技术
3) 数据库集群的分类及其性能分析
- Shared Disk vs. Shared Nothing
- Shared Disk典型代表Exadata的集群设计
- Shared Nothing典型代码Netezza的集群设计
- Hadoop的集群设计
4) 数据缓存技术
- 单机缓存与分布式缓存
- MemCached分布式缓存
案例:MemCached与Spring结合的架构设计
案例:MemCached与Hibernate结合的架构设计
5) 内存数据库
案例:12306的内存数据库设计
- Redis的运行原理与架构特点
案例:Redis与传统数据库在存储数据时的差异
- 运用Redis进行设计开发
- 内存数据库的局限
|
验证高并发问题的架构设计 |
-
设计测试用例与场景
-
录制测试脚本执行测试
-
测试结果的评价与调优
-
编写性能测试报告
案例:某大型网络开票系统的架构验证过程
|
学员案例实践 |
练习:通过自己熟悉的项目,或即将开展的项目,练习使用大并发的相关技术进行架构设计 |
针对大数据问题的架构设计 |
云计算 |
- 云计算的概念与发展历程
- 云计算的三个层次
- 基础设施即服务(IaaS)
- 平台即服务(PaaS)
案例:国家金税三期的云平台设计
- 软件即服务(SaaS)
- 云计算的相关技术
- OpenStack
- CloudStack
- Docker
- 国内厂商的应用
案例:阿里云的云平台架构
案例:12306在阿里云中的弹性设计
案例:比格达塔的数据云概念
- 传统架构的云技术转型
- 数据集中化管理
- 进行业务整合
- 提供云端服务
- 开发模式的变化
|
练习 |
通过自己熟悉的项目,练习对其进行云技术的转型 |
大数据 |
- 数据统计与BI分析
- 数据仓库与OLAP技术
- 分级数据存储
案例:淘宝网分级数据存储的设计
- Hadoop大数据分析与处理技术
- HDFS的工作原理及其特性
- MapReduce的工作原理及其特性
- Hadoop集群的优势与劣势
- Hadoop的生态环境
- Hive简介及其应用
- HBase工作原理及其架构
- Sqoop介绍及其项目应用
案例:基于Hadoop技术的数据分析平台建设
案例:基于HBase构建的海量数据存储与随机历史数据查询方案
- 基于Mahout的数据分析与挖掘
- Mahout数据挖掘工具介绍
- 数据挖掘与分析过程
案例:实际工作中的数据挖掘应用举例
- Mahout数据挖掘实现
- NoSQL数据库
- 分布式架构CAP理论
- BASE原则与弱一致性
- NoSQL数据库的崛起与发展
- MongoDB数据库
- CouchDB数据库
|
练习 |
通过自己熟悉的项目,或即将开展的项目,练习使用大数据的相关技术进行架构设计 |
解决高可靠性的架构设计
|
避错:持续运行不出错 |
- 规范化程序设计
- 平台化软件开发
|
容错:快速而自动地故障恢复 |
- 冗余设计
- 应用集群与数据库集群的冗余设计
- 分布式缓存的冗余设计
- 数据库master/slaves结构的设计
- hadoop中MapReduce与HDFS的可靠性设计
- ZooKeeper高可靠软件框架
|
改错:可查错、可恢复并数据不丢失 |
-
数据库的备份与恢复
- 两地三中心的数据灾备策略
案例:某大型网络开票系统的高可靠设计
|