大型网站的服务器集群构建思路!

来源:互联网 发布:北美页岩标准化数据 编辑:程序博客网 时间:2024/06/14 19:40

一、大型网站的服务器集群构建思路

(这里讲解的是高可用集群,暂不涉及科学计算集群)

    1、由于这次介绍的重点是大型网站构架,因为内容太多,所以在这里我要把主要部分划分成几个模块来作介绍,可能不适合你的实际情况,但希望能起到抛砖引玉的作用。

    2、所谓大型网站主要的特点是访问量大,既然是海量访问,那么带宽就一定要大,而且在中国的网络环境中单单靠一家也难保访问的快速、稳定,所以我们这里选 择三家网络运营商,也许你的环境更复杂,需要的更多,我们这里就暂时以三家为例,我们现在分别使用,网通,电信,其他线路,3条线路。为了能让访问达到最 佳效果,这里使用linux-bind 中的view技术+iptables+iproute2来解决,这就是我要介绍的第一个模块,解决线路问题的模块,当然如果你很有钱,可以去购买F5 3DNSLINK-CONTROL.

    3web集群,这个相对简单一点,主要分两步解决这个问题,第一提高单台服务器的吞吐能力,第二使用多台服务器共同为一个需求服务,这里采用 apache+lvs+rsync解决,当然有钱购买硬件也可以轻松实现这个功能,例如F5BIGIP+SAN,这就是我说的第二个模块,web服务器 模块。

    4、数据库集群,这个是比较头疼的一个问题,我们先分析一下,数据库的基本功能有4个,分别是增、删、查、改、对这四个功能在分一下类,其中增、删、改, 是写操作,查是读操作,首先你要确定的是你要做的数据库集群是那个需求比较多,这里我所做的是读非常多的数据库,那么写非常多的数据库将在这个帖子后面继 续讨论,这里就需要程序的开发人员区分不同操作来访问不同的机器来完成。这里使用mysql+replication+lvs来解决查询大的问题,这就是 第3个模块。

    5、为了解决以上问题中出现的单点故障给网络带来的问题,这里使用ucarpheartbeat来解决以上所有单点故障的问题。本文中介绍的很多软件功 能上有很多重复,实际操作中你可能仅仅需要使用其中的几个或部分功能,这里尽可能的多使用只是为了让大家方便对比,并根据自己的喜好选择软件。

    6、安装,这么大量的流量必须有大量的机器来保证,如何快速准确的安装好每一台机器。

    7、监控维护,这里讨论如何监控维护一个集群。

    8、这篇文章是我个人的学习笔记,本系列中的全部代码均来自实际生产运行的服务器,完全实地配置运行,并非实验脚本。

原创粉丝点击