大型网站技术架构(一)概述

软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
一特点
高并发、大流量
google的日PV是35亿,日均IP是3亿。QQ最大在线数1.4亿(2011),淘宝双11一天交易额191亿(2012)

高可用
7×24,
99%,网站年度不可用时间小于88小时
99.9%,小于9小时
99.99%,小于53分钟
99.999%,小于5分钟

海量数据
facebook 1350亿条/月

用户分布广泛、网络情况复杂
不同的网络运营商,GFW防火墙

安全环境恶劣

需求快速变更,发布频繁

渐进式发展
所有大型网站,都不是一天弄出来的。都是从小型网站演化、进化而来。12306虽然那么牛逼,也是弄了两三年不是?

二大型网站架构演化
初始阶段
WEB应用和数据库部署在同一台服务器上

应用服务器和数据服务分离
WEB应用服务器和数据库系统部署在2台服务器上

使用缓存
有独立的缓存服务器

应用服务器集群
开发无状态应用,部署多个应用服务器

数据库读写分离
数据库系统成为瓶颈,使用读写分离,提高数据库系统的并发处理能力

反向代理和CDN
缓存静态文件,减少应用服务器的压力

分布式文件系统和分布式数据库
进一步提高文件服务器的容量和处理能力,数据库的规模进一步扩大。

NOSQL和搜索引擎
使用hbase,mongoDB等NoSQL技术,使用搜索引擎提高处理能力。

业务拆分
分库、分表、分区。
将不同业务模块进行独立,拆分业务。

分布式服务
将业务开发成服务,即:SOA架构。

你可能感兴趣的:(架构)