跟老男孩学Linux运维:高性能Web集群实践(上)
上QQ阅读APP看书,第一时间看更新

第2章 中小规模Web集群规划与环境准备

2.1 网站集群架构介绍

2.1.1 集群概念介绍

简单来说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。当用户客户机请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。

集群类似一个公司,有多个部门,每个部门都有不同的职责,只有多个部门协同工作才能运作起一个稳定发展的公司,大公司职能部门会更多,小公司职能部门会少一些,但一个人想撑起一个公司几乎不太可能,所以要想提供稳定、高速、高并发的服务,必然是需要很多台机器的。

2.1.2 网站集群特点

与单台高性能服务器相比,网站集群架构应用需要有以下特点。

(1)高并发,大流量

需要面对高并发用户的大量访问。如,腾讯微信最大在线用户数突破5亿;淘宝天猫每年的“双十一”活动开始第一分钟独立访问用户都要达到1000万以上;抖音日活数据也是几个亿。

(2)持续服务,高可用

系统7×24小时不间断服务。企业网站的宕机事件通常会成为新闻焦点,例如,2010年百度域名被黑客劫持导致用户不能访问。

(3)海量数据

需要存储、管理海量数据,需要使用大量服务器。Facebook每周上传的照片数目接近10亿,百度收录的网页数目达数百亿,Google有近百万台服务器为全球用户提供服务。

(4)用户分布广泛,网络情况复杂

许多互联网网站都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。在国内,还存在各个运营商网络互通难的问题。而中美光缆的数次故障,也让一些对国外用户依赖较大的网站不得不考虑在海外建立数据中心。