`
ccbobocat
  • 浏览: 20168 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[导入]apache2.2.4 负载均衡初探

阅读更多
随着访问量的不断提高,以及对响应速度的要求,进行负载均衡设置就显得非常必要了。公司的系统在最初设计的时候就已经考虑到了负载均衡的规划,www静态 服务器配置了两台,由于初期项目时间紧,并且访问量并不高,所以当时只用了一台,另一台在内网中,只是进行了同步,并为发挥出效用来。此次就是对负载均衡 的一个简单测试。
       先介绍一下apache mod_proxy_balancer的几个配置规则(从网上找的):
将Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是:

1 )轮询均衡策略的配置

进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入:
ProxyPass / balancer://proxy/         #注意这里以"/"结尾
<Proxy balancer://proxy> 
       BalancerMember http://192.168.6.37:6888/ 
       BalancerMember http://192.168.6.38:6888/
</Proxy> 
      我们来观察上述的参数“ProxyPass / balancer://proxy/”,其中,“ProxyPass”是配置虚拟服务器的命令,“/”代表发送Web请求的URL前缀,如:http://myserver/或者http://myserver/aaa,这些URL都将符合上述过滤条件;“balancer://proxy/”表示要配置负载均衡,proxy代表负载均衡名;BalancerMember 及其后面的URL表示要配置的后台服务器,其中URL为后台服务器请求时的URL。以上面的配置为例,实现负载均衡的原理如下: 
      假设Apache接收到http://localhost/aaa请求,由于该请求满足ProxyPass条件(其URL前缀为“/”),该请求会被分发到后台某一个BalancerMember,譬如,该请求可能会转发到 http://192.168.6.37:6888/aaa进行处理。当第二个满足条件的URL请求过来时,该请求可能会被分发到另外一台BalancerMember,譬如,可能会转发到http://192.168.6.38:6888/。如此循环反复,便实现了负载均衡的机制。

2) 按权重分配均衡策略的配置

ProxyPass / balancer://proxy/         #注意这里以"/"结尾
<Proxy balancer://proxy> 
        BalancerMember http://192.168.6.37:6888/  loadfactor=3 
        BalancerMember http://192.168.6.38:6888/  loadfactor=1
</Proxy> 
      参数”loadfactor”表示后台服务器负载到由Apache发送请求的权值,该值默认为1,可以将该值设置为1到100之间的任何值。以上面的配置 为例,介绍如何实现按权重分配的负载均衡,现假设Apache收到http://myserver/aaa 4次这样的请求,该请求分别被负载到后台服务器,则有3次连续的这样请求被负载到BalancerMember为http://192.168.6.37:6888的服务器,有1次这样的请求被负载BalancerMember为http://192.168.6.38:6888后台服务器。实现了按照权重连续分配的均衡策略。

3) 权重请求响应负载均衡策略的配置

ProxyPass / balancer://proxy/ lbmethod=bytraffic  #注意这里以"/"结尾
<Proxy balancer://proxy> 
         BalancerMember http://192.168.6.37:6888/  loadfactor=3 
         BalancerMember http://192.168.6.38:6888/  loadfactor=1 
 </Proxy> 
       参数“lbmethod=bytraffic”表示后台服务器负载请求和响应的字节数,处理字节数的多少是以权值的方式来表示的。 “loadfactor”表示后台服务器处理负载请求和响应字节数的权值,该值默认为1,可以将该值设置在1到100的任何值。根据以上配置是这么进行均 衡负载的,假设Apache接收到http://myserver/aaa请求,将请求转发给后台服务器,如果BalancerMember为http://192.168.6.37:6888后台服务器负载到这个请求,那么它处理请求和响应的字节数是BalancerMember为http://192.168.6.38:6888 服务器的3倍(回想(2)均衡配置,(2)是以请求数作为权重负载均衡的,(3)是以流量为权重负载均衡的,这是最大的区别)。

看明白了没有,根据不同的需要,可以按这三种方式进行配置。我按照第三种配置的,感觉上这种对于负载的均衡更全面合理。我的配置很简单,如下:
先配置均衡器:
<Proxy balancer://proxy>
       BalancerMember ajp://127.0.0.1:8009/  loadfactor=1
       BalancerMember http://192.168.10.6:8083/  loadfactor=1
</Proxy>
其中http://192.168.10.6:8083实际上是另外一个端口启动的apache,为了测试,它就简单的直接转发所有请求到tomcat。
对于上次的VirtualHost进行以下的修改即可:
<VirtualHost *:80>
        ServerName www.test.com
        DocumentRoot /www
        DirectoryIndex index.html index.jsp
        <Directory "/www">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
        <Directory "/control">
            Options Indexes FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
        ProxyPass /nxt/images/ !
        ProxyPass /nxt/js/ !
        ProxyPass /nxt/css/ !
        #ProxyPass / ajp://127.0.0.1:8009/
        #ProxyPassReverse / ajp://127.0.0.1:8009/
        ProxyPass / balancer://proxy/
        ProxyPassReverse / balancer://proxy/
</VirtualHost>
注释掉之前的ajp转发,而配置成通过balancer去处理。
通过观察access log,的确有部分请求发送到了8083端口的apache上,而有部分是直接ajp转发到tomcat上了。对于更多的负载均衡的参数检测,待空了再做。


文章来源:http://blog.163.com/ccbobo_cat/blog/static/32099462200932611555639
分享到:
评论

相关推荐

    apache2.2.4 负载均衡.txt

    ### Apache 2.2.4 负载均衡配置详解 #### 一、负载均衡的重要性与背景 随着网站流量的增长及用户体验需求的提高,单一服务器往往难以满足高性能、高可用性的要求。因此,通过负载均衡技术来分散请求到多个服务器上...

    Apache2.2.4 And mod_jk-apache-2.2.4.so

    Apache2.2.4 和 mod_jk-apache-2.2.4.so 是在Web服务器领域中的关键组件,主要用于实现Apache HTTP服务器与Tomcat应用服务器之间的集成。Apache2.2.4是Apache HTTP Server的一个特定版本,而mod_jk-apache-2.2.4.so...

    apache_2.2.4-win32下载

    1. **多线程模型**:Apache 2.2.4支持多种处理模型,如Prefork、Worker和Event,其中Worker模型适用于多线程环境,提高服务器性能。 2. **模块化结构**:Apache的核心功能通过模块实现,如mod_rewrite(URL重写)、...

    apache2.2.4

    1. **安装Apache**:下载并安装Apache 2.2.4的Windows版本,通常为apache-win32-x86-no_ssl.exe,确保选择适合你系统的版本。 2. **安装PHP**:同样下载PHP 5.2.7的Windows二进制文件,解压到适当目录。 3. **配置...

    Apache2.2.4

    Apache2.2.4与Tomcat结合使用可以实现负载均衡,这是一个重要的网络架构策略,用于提高服务的可用性和性能。 负载均衡的基本概念是将来自多个用户的请求分散到不同的服务器上,防止单一服务器过载,确保系统持续...

    Apache2.2.4+PHP5.2.3+MySQL5.0.41+testlink 配置说明

    Apache2.2.4 是一个流行的Web服务器软件,本文将详细介绍如何安装和配置 Apache2.2.4 。 Apache 的安装 1. 下载 Apache2.2.4 软件,双击安装文件 apache_2.2.4-win32-x86-no_ssl.msi 进行安装。 2. 接受协议,...

    jboss5.1集群操作说明 apache2.2.4

    Apache 2.2.4 是一个常用的开源 Web 服务器,它可以与 JBoss 集成,实现负载均衡和反向代理。 集群配置主要涉及以下几个关键点: 1. **集群通信**:JBoss 使用 JGroups 库进行节点间的通信。JGroups 提供了一种...

    apache 负载均衡集群

    Apache 负载均衡集群是一种优化Web服务器性能和可靠性的技术。通过将工作负载分散到多个服务器上,这种集群能够确保即使单个服务器出现故障,系统仍能继续提供服务,从而提高了服务的可用性和响应速度。Apache 负载...

    APACHE 2.2.4与TOMCAT6.0.14整合教程

    ### Apache 2.2.4与Tomcat 6.0.14整合教程:构建负载均衡Web环境 在现代Web开发环境中,为了提高网站的可用性、可扩展性和响应速度,通常会采用负载均衡技术来分散请求到多台服务器上处理。本文将详细解析如何通过...

    Apache2.2.4和php5.2.1配置方法

    在安装Apache2.2.4时,通常需要遵循以下步骤: 1. 下载Apache2.2.4的源代码包,通过官方渠道获取。 2. 解压下载的文件,并进入解压后的目录。 3. 运行配置脚本`./configure`,根据系统环境配置安装路径和模块。 4. ...

    apache2.2.4+tomcat6.0整合配置

    Apache与Tomcat的整合通常通过Apache的模块mod_jk实现,它是一个连接Apache和Tomcat的负载均衡器。mod_jk模块负责将HTTP请求路由到适当的Tomcat实例。在这个案例中,我们需要的是mod_jk-2.2.4.so,这是对应Apache ...

    apache_2.2.4-win32-x86-no_ssl下载

    Apache 2.2.4的特性: 1. **模块化设计**:Apache以其模块化的结构著称,允许用户根据需求添加或移除功能。例如,通过加载mod_php模块来支持PHP编程,mod_rewrite模块用于URL重写等。 2. **多线程与事件模型**:在...

    tomcat集群-Apache2.2.4+And+mod_jk.so+tomcat配置文件

    【标题】"tomcat集群-Apache2.2.4+And+mod_jk.so+tomcat配置文件"涉及的是在分布式环境中通过Apache HTTP Server与Tomcat应用服务器集成,实现负载均衡和高可用性的技术。这里的核心是Apache的mod_jk模块,它是一个...

    Weblogic10+Apache2.2.4整合过程

    整合Weblogic与Apache可以实现负载均衡、SSL终止和优化性能等功能。以下是详细的整合步骤: 一、JDK安装与配置 1. 下载JDK的Linux版本,如`jdk-1_5_0_14-linux-i586.rpm.bin`,并赋予执行权限。 2. 运行安装命令`....

    Apache,Tomcat集群和负载均衡

    Apache,Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载...

    apache2.2.4、tomcat6利用JK_mod整合

    例如,我们可能需要设置`JkWorkersFile`来指定`workers-JK-mod副本.properties`文件的位置,这个文件定义了Tomcat实例的详细信息,包括它们的IP地址、端口和负载均衡权重。 `workers-JK-mod副本.properties`文件...

    Apache2.2.4+php5.2.5+mysql5.0+discuz!6+ ZendOptimizer-3.3.0a+phpMyAdmin-2.11.3

    这个是安装说明文件,里面要用的安装文件,除了MYSQL 5。0太大,不能上传,其他的都上传了!!安装文件免费共享了,想快速安装成功的兄弟,请下载这个说明文件,我要收3分哦!我也想去下别人的好东西!...

Global site tag (gtag.js) - Google Analytics