`

java服务器在Linux下实现负载均衡 .

 
阅读更多
我们需要在前端放置一个Apache作为负载均衡器,后 台有若干台Apusic或者其它的类似于Tomcat/WebLogic等应用服务器,客户端发送到Apache的请求,将被分配到后台的这些真正完成请 求的服务器上。本文描述如何使用Apache作为负载均衡器的方法和不同的负载均衡的配置。

       在某些场景中,我们需要在前端放置一个Apache作为负载均衡器,后台有若干台Apusic或者其它的类似于Tomcat/WebLogic等应用服务 器,客户端发送到Apache的请求,将被分配到后台的这些真正完成请求的服务器上。本文描述如何使用Apache作为负载均衡器的方法。

       我们假设Apahce安装在 myserver 这台服务器上,并且希望用户访问http://myserver/ 时,能够将这些请求被负载到后台的两台服务器上,分别是:http://192.168.6.37:8080/ 和 http://192.168.6.37:6888/

一、安装并重新编译Apache

1、linux下Apache的安装

下载最新的Apache安装包httpd-2.2.3.tar.gz文件

1) 解压

         gzip –d httpd-2.2.3.tar.gz

         tar xvf httpd-2.2.3.tar

2) 解压以后,cd httpd-2.2.3 进入解压后的目录,在终端执输入以下命令:

./configure --prefix=/usr/local/httpd --enable-so --enable-proxy --enable-proxy-ajp --enable-proxy-http --enable-proxy-ftp --enable-proxy-connect --enable-proxy-balancer

      默认情况下,Apache安装是不会将这些文件编译进内核,因此,需要人工加载,而通过上述操作,在编译时会将这些DSO文件编译到内核中。

3) 在终端输入:make

4) 在终端输入:make install

5) 进入Apache的bin目录,在终端输入apachectl –k start

6) 在浏览器中输入http://myserver,默认是80端口,如果出现It works!,说明Apache已经正常启动。

2、window下Apache的安装

1) 下载apache_2.2.2-win32-x86-no_ssl.msi版本或其他版本的apache
2) 点击该文件,就可以直接安装
3) 要配置负载均衡,进入apache的安装目录下的conf目录,打开httpd.conf文件,将文件中mod_proxy.so、 mod_proxy_ajp.so、mod_proxy_balancer.so、 mod_proxy_connect.so、  mod_proxy_http.so 、mod_proxy_ftp.so所在行的注释去掉,就可以进行负载均衡的配置。

4) 在浏览器中输入http://myserver,默认是80端口,如果出现It works!,说明Apache已经正常启动。

二、配置Apache作为LoadBalance

将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)是以流量为权重负载均衡的,这是最大的区别)。

注:每次修改httpd.conf,用apachectl –k restart重新启动Apache。

<!-- Baidu Button BEGIN -->
分享到:
评论

相关推荐

    java使用apache+resin实现负载均衡设置

    Java 使用 Apache+Resin 实现负载均衡设置 Java 使用 Apache+Resin 实现负载均衡设置是一种常见的解决方案,旨在提高系统的可用性和可扩展性。下面是该方案的详细说明: 一、为什么需要负载均衡? 在实际应用中,...

    linux下配置tomcat集群的负载均衡.zip

    在Linux环境下配置Tomcat集群以实现负载均衡是提高Web应用性能和可用性的重要步骤。Tomcat作为Apache软件基金会的开源Java Servlet容器,广泛应用于各种规模的企业级应用部署。本教程将详细阐述如何在Linux系统中...

    nginx负载均衡.docx

    在阿里云服务器上搭建Nginx负载均衡,可以有效地分发请求到多台后端服务器,降低单台服务器的压力,提高服务的稳定性和可靠性。 首先,我们需要准备一台阿里云服务器,操作系统推荐使用CentOS 7.6。在进行负载均衡...

    Linux下轻松实现Apache和Tomcat的负载均衡.pdf

    本文主要介绍如何在Linux环境下将Apache和Tomcat进行整合,以实现负载均衡。Apache作为Web服务器,可以处理静态内容,而Tomcat作为Java应用服务器,处理动态内容。通过Apache的mod_jk模块,可以将HTTP请求转发到...

    通过nginx在linux上实现负载均衡

    在Linux系统上,Nginx是一个非常流行的反向代理...总的来说,通过Nginx在Linux上实现负载均衡,不仅可以提高系统的可用性,还能确保当单个服务器出现故障时,其他服务器仍能继续提供服务,从而增强了整体架构的可靠性。

    linux_apache+tomcat负载均衡安装和调试.pdf

    本文将详细阐述如何在 Linux 系统上安装、配置 Apache 与 Tomcat,并实现负载均衡。 一、操作系统的选取 在本教程中,我们选用的是 Red Hat Linux 5.0 操作系统。Linux 系统因其开源、稳定和强大的网络服务支持而...

    Linux负载均衡集群

    【Linux负载均衡集群】是指通过特定的技术手段,将多台Linux服务器组成一个集群,使得客户端的请求能够均匀地分布到各个服务器上,从而提高服务的可用性和处理性能。在这个场景中,Apache作为Web服务器,被配置为...

    Linux配置负载均衡new

    在Linux系统中,配置负载...总结起来,配置Linux负载均衡涉及安装JDK、Apache和Tomcat,以及使用mod_jk模块将请求分发到多个后端服务器。通过这种方式,我们可以有效地平衡服务器负载,提高系统的可靠性和响应速度。

    nginx负载均衡实现

    Nginx作为一种高性能的负载均衡工具,在实现负载均衡的同时,还提供了丰富的功能和灵活的配置选项,使得它成为众多企业和开发者的首选方案。通过合理的负载均衡策略和技术组合,可以有效地应对各种复杂的网络环境...

    Linux中Apache+Tomcat+JK实现负载均衡和群集的完整过程

    在Linux环境中,使用Apache、Tomcat和JK模块实现负载均衡和群集是一项常见的高可用性架构设计,它能够有效地分发网络流量,提高系统的可扩展性和稳定性。Apache作为前端Web服务器,负责接收用户请求并根据配置策略将...

    nginx负载均衡和linux简单命令1

    nginx 负载均衡和 linux 简单命令是指使用 nginx 服务器来实现负载均衡,并使用 linux 命令来实现简单的服务器管理。本文将详细介绍如何使用 nginx 实现负载均衡,并使用 linux 命令来实现简单的服务器管理。 描述...

    v9.7_linuxx64_server.tar.gz

    服务器版可以作为独立服务器或集群的一部分运行,以实现高可用性和负载均衡。 4. **.tar.gz文件**:这是一个常见的Linux文件打包格式,".tar"用于收集多个文件和目录到一个单一的归档文件,而".gz"则是Gzip压缩算法...

    最新版linux elasticsearch-7.15.2-linux-x86_64.tar.gz

    每个索引可以有零个或多个副本,用于容错和负载均衡。 5. **RESTful API**: Elasticsearch使用HTTP和JSON,通过RESTful API与服务器交互,易于使用且兼容性广泛。 **安装与启动** 1. **解压**: 首先,你需要在...

    Java详解Web 基础架构:负载均衡和 LVS.doc

    Java 详解 Web 基础架构:负载均衡和 LVS 一、负载均衡的作用 负载均衡设备的任务就是作为应用服务器流量的入口,挑选最合适的一台服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。在大...

    基于Java应用的高并发高可用集群服务器的设计与实现_王瑛.pdf

    LVS(Linux Virtual Server)被用于实现更高层次的负载均衡。LVS使用直接路由模式,当接收到代理服务器的请求时,直接将响应返回给客户端,增强了并发处理能力。通过设置轮询调度策略,可以确保在多台Web服务器之间...

    linux Tomcat负载均衡步骤

    在这个场景中,我们讨论的是使用Nginx作为负载均衡器,结合Tomcat应用服务器来实现这一目标。 首先,我们要理解负载均衡的核心概念。负载均衡是一种策略,通过将工作负载分布到多个处理单元(如服务器、实例或容器...

    Apache+Tomcat+Linux集群和负载均衡

    在IT领域,Apache+Tomcat+Linux集群与负载均衡技术是实现高可用性、高性能Web服务的重要手段之一。本文将围绕这一主题展开详细讨论,涵盖关键技术概念、配置流程及注意事项等内容。 #### 一、概述 **Apache+Tomcat...

    lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.rar

    3. **设置Nginx**:在前端服务器上安装Nginx,配置反向代理规则,根据业务需求设定负载均衡策略。 4. **安装Tomcat**:在后端服务器上部署Tomcat,确保应用的部署和配置一致。 5. **健康检查**:配置Nginx和LVS的...

Global site tag (gtag.js) - Google Analytics