大型网站技术架构(一)概述
软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
一特点
高并发、大流量
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分钟
海量数据
facebook1350亿条/月
用户分布广泛、网络情况复杂
不同的网络运营商,GFW防火墙
安全环境恶劣
需求快速变更,发布频繁
渐进式发展
所有大型网站,都不是一天弄出来的。都是从小型网站演化、进化而来。12306虽然那么牛逼,也是弄了两三年不是?
二大型网站架构演化
初始阶段
WEB应用和数据库部署在同一台服务器上
应用服务器和数据服务分离
WEB应用服务器和数据库系统部署在2台服务器上
使用缓存
有独立的缓存服务器
应用服务器集群
开发无状态应用,部署多个应用服务器
数据库读写分离
数据库系统成为瓶颈,使用读写分离,提高数据库系统的并发处理能力
反向代理和CDN
缓存静态文件,减少应用服务器的压力
分布式文件系统和分布式数据库
进一步提高文件服务器的容量和处理能力,数据库的规模进一步扩大。
NOSQL和搜索引擎
使用hbase,mongoDB等NoSQL技术,使用搜索引擎提高处理能力。
业务拆分
分库、分表、分区。
将不同业务模块进行独立,拆分业务。
分布式服务
将业务开发成服务,即:SOA架构。
相关推荐
ltmailsharpeyes 2020-07-28
windzoone 2020-06-01
ithzhang 2020-05-06
故纸堆 2020-03-21
ColinOrg 2020-03-21
ithzhang 2020-03-01
byourb 2020-02-12
范群松 2020-02-02
IT小小鸟 2020-01-30
草原孤狼 2020-01-29
quguang 2020-01-28
IT小小鸟 2020-01-21
红雪中国 2014-07-07
刘晓飞 2014-06-19
enginetanmary 2014-06-17
LinuxAndroidAI 2014-05-14
架构技术交流 2019-12-22