从演化历史看大型网站架构
摘 要:本文以大型网站系统的特点、大型网站架构演化发展历程以及大数据与高并发为切入和论述点,由浅入深、由简到繁地对大型网站架构设计展开叙述,首先通述其特点,之后介绍大型网站架构的历史发展历程,从其发展历程中总结出每一代架构是如何一步步发现问题并解决问题的。最后会以大数据和高并发为重点,着重介绍秒杀架构设计是如何实现高并发的。通过这篇文章,您可以对大型网站架构有一个整体的认识和了解。
关键词:高并发;大数据;分布式
0 引言
一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯,要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下,找出其中共用的技术,这些技术和手段可以广泛运行在大型网站系统的架构中,下面就通过介绍大型网站系统的特点和演化过程,来认识这些技术和手段。
1 大型网站系统的特点
高并发,大流量:需要面对高并发用户,大流量访问。Google 日均 PV 35 亿,日IP访问数 3 亿;腾讯 QQ 的最大在线用户数 1.4 亿 (2011年数据)。
高可用:系统 7 x 24 小时不间断服务。
海量数据:需要存储、管理海量数据,需要使用大量服务器。Facebook 每周上传的照片数量接近10 亿,百度收录的网页数目有数百亿,Google 有近百万台服务器为全球用户提供服务。
用户分布广泛,网络情况复杂:许多大型互联网站都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。在国内,还有各个运营 商网络互通困难的问题。
安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击。
需求快速变更,发布频繁:和传统软件的版本发布频率不同,互联网产品为快速适应市场,满足用户需求,其产品发布频率极高