本文主要分析网站后台架构中的负载均衡器,企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。 1.1 负载均衡 在大型网站部署中,负载均衡至少有三层部署。第一层为 web server 或者缓存代理之上的负载均衡,第二层为数据库之上的负载均衡,第三层为存储设备之上的负载均衡。 在第一层部署中,最常使用的是硬件负载均衡器有 F5 BIG-IP、Citrix NetScaler、Radware、Cisco CSS、Foundry等产品。这些产品价格不菲,高达几十万人民币。在中国大陆,采用F5Network 公司的BIG-IP 负载均衡交换机的网站有新浪网、雅虎、百度、搜狐、凤凰网、央视国际、中华英才网、猫扑、畅游等。之前淘宝采用 NetScaler 作为其硬件负载均衡器。后来用软件负载均衡器LVS 和 HAproxy混合使用来代替硬件负载均衡器。硬件负载均衡器可以提供 OSI 参考模型的第四/七层进行负载均衡。在第七层实现负载均衡的原理是,通过检查流经的HTTP 报头,根据报头内的信息来执行负载均衡任务。在第四层(网络层)实现负载均衡的DR 模式的原理是,通过更改请求包的目的MAC 地址来进行负载均衡。 在第一层部署中,最常用的软件负载均衡器为 LVS(LinuxVirtual Server)和 HAproxy。其中LVS 采用基于 IP 负载均衡技术和基于内容请求分发技术。最常用的LVS 负载均衡技术为DR 负载均衡。 在第二层部署中,最常用的为 mysql-proxy(后端部署必须为 MySQL 数据库),该代理服务器可以监测、分析或改变客户端的通信。最常用途为负载均衡,读写分离等。 在第三层部署中,最常用的存储设备都要做 RAID,其中RAID0 便为最基本的存储层的负载均衡。RAID0 通过分带技术,将数据分割,然后并行的读写于各个磁盘上。这样实现底层存储一级的负载均衡。 1.2 LVS 软件负载均衡器 LVS(LinuxVirtual Server)是由章文嵩博士主导开发的一款开源软件,可以实现 Linux平台下的基于网络层的负载均衡软件。典型的基本架构图如图 6-2-1 所示。 图6-2-1 LVS 集群采用IP 负载均衡技术和基于内容请求分发技术。 如图6-2-1 所示,LVS 集群采用基于IP 负载均衡技术和基于内容请求分发技术。当客户端有请求时,首先将请求包传送到Load Balance,然后Load Balance 从后面的Real Servers中按照一定的算法策略选取一台Real Server,比如Real Server1,然后把请求包发送给Real Server1 进行处理。对所有用户而言,面向用户的服务器端IP 地址,只有...