Chinaunix首页 | 论坛 | 博客
  • 博客访问: 246198
  • 博文数量: 41
  • 博客积分: 1523
  • 博客等级: 上尉
  • 技术积分: 579
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-05 21:23
文章分类

全部博文(41)

文章存档

2014年(1)

2013年(2)

2012年(1)

2011年(2)

2010年(3)

2009年(1)

2008年(20)

2007年(11)

分类: LINUX

2008-02-22 22:55:07

    本文章主要讲解大型网站构建,全部采用开源软件和开源的操作系统,构架采用 LAMP (Linux+Apache+Mysql+Php)模式实现。
  一、原理讲解。(这里讲解的是高可用集群,暂不涉及科学计算集群)
    1、由于这次介绍的重点是大型网站构架,因为内容太多,所以在这里我要把主要部分划分成几个模块来作介绍,
可能不适合你的实际情况,但希望能起到抛砖引玉的作用。
    2、
所谓大型网站主要的特点是访问量大,既然是海量访问,那么带宽就一定要大,而且在中国的网络环境中单单靠一家也难保访问的快速、稳定,所以我们这里选择三家网络运营商,也许你的环境更复 杂,需要的更多,我们这里就暂时以三家为例,我们现在分别使用,网通,电信,其他线路,3条线路。为了能让访问达到最佳效果,这里使用linux-bind 中的view技术+iptables+iproute2来解决,这就是我要介绍的第一个模块,解决线路问题的模块,当然如果你很有钱,可以去购买F5的 3DNS和LINK-CONTROL.
    3、web集群,这个相对简单一点,主要分两步解决这个问题,第一提高单台服务器的吞吐能力,第二使用多台服务器共同为一个需求服务,这里采用apache+lvs+rsync解决,当然有钱购买硬件也可以轻松实现这个功能,例如
F5的BIGIP+SAN,这就是我说的第二个模块,web服务器模块。
    4、数据库集群,这个是比较头疼的一个问题,我们先分析一下,数据库的基本功能有4个,分别是增、删、查、改、对这四个功能在分一下类,其中增、删、改, 是写操作,查是读操作,首先你要确定的是你要做的数据库集群是那个需求比较多,这里我所做的是读非常多的数据库,那么写非常多的数据库将在这个帖子后面继 续讨论,这里就需要程序的开发人员区分不同操作来访问不同的机器来完成。这里使用mysql+replication+lvs来解决查询大的问题,这就是 第3个模块。
    5、为了解决以上问题中出现的单点故障给网络带来的问题,这里使用ucarp和heartbeat来解决以上所有单点故障的问题。本文中介绍的很多软件功 能上有很多重复,实际操作中你可能仅仅需要使用其中的几个或部分功能,这里尽可能的多使用只是为了让大家方便对比,并根据自己的喜好选择软件。

    6、安装,这么大量的流量必须有大量的机器来保证,如何快速准确的安装好每一台机器。
    7、监控维护,这里讨论如何监控维护一个集群。
    8、这篇文章是我个人的学习笔记,本系列中的全部代码均来自实际生产运行的服务器,完全实地配置运行,并非实验脚本。

以上仅代表个人观点,欢迎转载。

转载请保留本文的全部信息,如果你对本文有任何建议请mail给我。

                                           xinyv 2008/2/22
                                             xin.yv@163.com



阅读(1052) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~