Apache 负载均衡配置策略(一)

来源:互联网 发布:网络语666 编辑:程序博客网 时间:2024/04/29 13:38

     最近因为新疆移动项目的要求,必须要用负载均衡来实现HTTP请求,没办法,我这个人一般是有压力的环境下才会好好学习,所以只有老实的自己来边学边写了。 

   其实,我们在平时经常听说集群这个名词,但是真正知道的又有几个呢,恩,好了,不讲废话了,我就先给大家扫盲吧,当然,我讲的不一定是对的,我就把我自己知道的讲出来,集群目前分3类吧,科学集群、高可用性集群、负载均衡集群。

     科学集群(Scientific Clustering,简称SC):使用特殊的软硬件技术将大量的计算能力有限的机器连接成计算能力巨大的系统。此类集群一般用于解决计算量巨大的复杂的科学问题。

     高可用性集群(High Availability Clustering,简称HAC):使用厂商供应的或定制的、冗余的软硬件来保证系统的可用性。此类集群一般用于避免系统的单点失效。涉及的技术主要包括:持续可用、容错、单点失效、失效恢复。

HP OpenVMS示例图


      负载均衡集群(Load Balance Clustering简称LBC):通过特定的软硬件将系统负载合理地分配给集群中的服务器。此类集群一般用于水平提升系统的服务能力。对于软件负载均衡方案,比较知名的项目有LVS;比较知名的产品有TurboLinux的TurboCluster、Platform Computing 的 LSF 批处理、Resonate Dispatch 系列等。对于硬件负载均衡方案,由于硬件负载均衡器品种繁多,用户有很大的选择余地。

  当然,我要告诉大家的是:目前很多使用的是负载均衡策略,说白了,现在大多用的就是通过软件水平来实现的,这个主要分2大类,恩,大家注意了,下面我就讲2种情况下的,当然,一般就这2种。

  1:直接用Proxy Server来实现,这个就很简单了,如果你对BEA的中间件WEBLOGIC了解的话(555,BEA被ORACLE收购了,本人其实一直蛮喜欢BEA系列产品的)恩,实现方法很简单,就是用BEA带的包来做代理,然后在WEB.XML里修改就可以咯,实现方法为:

  注意,这里开始正文咯:代理服务器可以通过Console来建立,或者是在建立受管服务时多建立一个服务,但是在集群中不加入。

代理服务器的作用是将client端的请求进行分发,以求达到负载均衡和容错处理;可以通过一个特殊的Web application来实现这点。这个应用就是Bea platform 自带的defaultProxyApp ,它存在于%wl_home%/samples/server/examples/src/examples/cluster/sessionrep/inmemrep/目录下,要满足自己的应用还需要修改一下web.xml文件中的集群包含的受管服务器的IP地址。
<init-param>       
      <param-name>WebLogicCluster</param-name>       
      <param-value>10.238.18.45:7002|10.238.18.46:7003</param-value>    
</init-param>
修改完成后,将其部署到proxy server(仅仅部署到此服务,此处选择Web application moudle)。
恩,很好,下面的就不用我说了吧,西西,我肯定有人下面也不知道怎么走了,我就继续吧,上面的代理大家部署好了后,我们还有一件事情没有做哦,那就是应用,应用?什么应用,小样,不要和我玩水,就是真正执行业务逻辑的那玩意咯,这时我们要做的是什么?西西,很简单,在weblogic的控制台里建几个SERVER啦,这个你肯定会吧,如果不会,那我可以肯定的讲,我再怎么解释你也不知道,恩,SERVER建后就部署应用呀,应用部署的时候要注意哦,指象的是同一个应用,好了,代理和应用都好了,那下面就启动服务了,启动的时候注意,启动3个东东,应该是1:startWeblog.cmd/sh  2:(nohup)./startManageWeblogic  server1/3  localhost:7001 好咯,这下就完成了,访问的时候,如果么问题就可以了。
上面的一种是你资源很多的情况下完成的,主要是保护的应用不中断,因为我做过把测验,所有的应用都是在一个应用下执行的,第一种的作用是防止应用中断的,大家可以实验下,把一个停止了,应用还是OK的,就是说:应用是一直在一个SERVER下跑的,另外一个是作为备用的,他们两个一个是前台,一个是后备,不是相互负担,而是一个挂了的时候,另外一个起作用,那么很多人要问了,5555555555,人家不是要的这样的结果,人家的资源紧张,想让2个应用同时起作用,那怎么做,嘿嘿,不要急撒,下面我就来讲解另外一种策略,就是应用同时生效。