集群就是在多个应用服务(如:Tomcat)前端设一个前端控制器,负责请求的接收和转发,多数是起到一个分流的作用,把压力分散到每一个应用服务上。
负载均衡就是在集群的基础上前端控制器尽量可以做到对每一个应用服务的请求平衡,负载均衡,即尽量把压力平均分配到每一个后端应用服务,从而达到整个系统的高性能和高可用性。
Apache通常是作为应用服务器的集群的前端。而集群并不局限于Web服务器。很多应用都可以做集群,如数据库、缓存服务器、消息队列等等。
Apache + Tomcat 实现负载均衡
1、环境
(1)Linux:linux系统
(2)Apache:Apache/2.4.6
(3)Tomcat:Apache Tomcat/8.0.36(至少2个,部署在两台机器上)
2、Apache配置
(1)首先,在Apache安装目录下找到conf/httpd.conf文件,以文本编辑器打开
(2)去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
注意:有的Apache版本无需在这里面配置,直接引用/httpd/conf.modules.d/下所有文件
(3)在httpd.conf文件末尾添加如下代码
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
ServerName 本机IP(域名)
ServerAlias 本机IP(域名)
ErrorLog "logs/error-log.log"
CustomLog "logs/custom-log.log" common
</VirtualHost>
注意:这里balancer://是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名,可以随意取,两个日志引擎ErrorLog负责记录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取。
(4)在httpd.conf文件最后加上
ProxyRequests Off
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGED
<proxy balancer://cluster>
#此处http协议可以更换为ajp协议
BalancerMember http://IP1 loadfactor=1 route=jvm1
BalancerMember http://IP2 loadfactor=1 route=jvm2
ProxySet stickysession=ROUTEID
</proxy>
或者:
ProxyRequests Off
<proxy balancer://cluster>
#此处ajp协议可以更换为http协议
BalancerMember ajp://IP1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://IP2:8009 loadfactor=1 route=jvm2
</proxy>
3、Tomcat配置
(1)配置HTTP/1.1 Connector端口
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,也是tomcat接收从Apache过来的http请求连接时使用的端口。
(2)配置AJP/1.3 Connector端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
AJP/1.3 Connector,这是tomcat接收从Apache过来的ajp连接请求时使用的端口。
注意,这里的端口对应 Apache httpd.conf中BalancerMember中配置的ajp连接端口
(3)配置引擎
找到<Engine name="Catalina" defaultHost="localhost">,去掉这段注释,并修改为
修改Tomcat1:<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
修改Tomcat2:<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
注意:这里的jvmRoute对应Apache httpd.conf中BalancerMember中配置的route参数
(4)配置session共享
打开<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>注释,这里的配置是为了可以在集群中的所有tomcat节点间共享会话(Session)。
相关推荐
Apache+Tomcat+JK是一个常见的Web服务器和应用服务器集群解决方案,用于实现负载均衡和高可用性。这个配置中,Apache作为前端反向代理服务器,Tomcat作为后端的应用服务器,而JK模块是Apache与Tomcat之间的连接器,...
### Linux环境下Apache+Tomcat集群负载均衡搭建详解 在企业级应用中,为了提升服务器的稳定性和处理能力,常采用Apache+Tomcat集群的方式来进行负载均衡。本文将详细介绍如何在Linux环境下搭建Apache+Tomcat集群...
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档
Apache+Tomcat+JK 实现集群负载均衡是一种常见的Web服务器和应用服务器的部署方式,它能够提高系统的可用性和响应速度,实现服务的高并发处理。本文将详细介绍如何配置这一环境。 首先,我们需要准备以下软件: 1. ...
本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...
总结,实现Apache+Tomcat集群负载均衡的关键在于正确配置Apache的mod_proxy模块,以及确保Tomcat集群的会话一致性。通过这种方式,我们可以有效分摊高并发访问压力,提高系统的稳定性和响应速度。同时,持续监控和...
### Apache+Tomcat+Linux集群和负载均衡 在IT领域,Apache+Tomcat+Linux集群与负载均衡技术是实现高可用性、高性能Web服务的重要手段之一。本文将围绕这一主题展开详细讨论,涵盖关键技术概念、配置流程及注意事项...
完成配置后,应通过访问Apache服务器,测试请求能否正确地被转发到Tomcat集群中的某个实例,并得到响应。这一步骤对于确保集群和负载均衡策略的正确性至关重要。 通过上述详细步骤和配置要点,我们可以构建出一个...
【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。
apache+tomcat集群负载平衡的配置详细讲解
### Apache+Tomcat集群与负载均衡配置详解 #### 一、环境说明 为了实现Apache与Tomcat集群的负载均衡,我们需要准备以下环境: 1. **服务器配置**:四台服务器,其中一台安装Apache,三台安装Tomcat。 - Apache...
Apache 和 Tomcat 集群负载均衡是一种常见的高可用性和可扩展性解决方案,它通过将请求分散到多个服务器上,确保即使单个服务器出现问题,整个系统仍能保持正常运行,并且能够处理更多的并发请求。 首先,我们需要...
总之,Apache+Tomcat集群和负载均衡的实现能够显著提升Web服务的可用性和性能,通过灵活选择负载均衡策略和模块,可以适应各种复杂的业务场景。在实际操作中,还需要不断调整和优化,以达到最佳的效果。
apache+tomcat集群的负载均衡和失败托管所需软件 包括 apache_2.0.55-win32-x86-no_ssl.msi apache-tomcat-7.0.40-windows-x86.zip mod_jk-apache-2.0.55.so
Apache作为前端服务器,负责接收客户端的HTTP请求,并根据配置的负载均衡策略将这些请求转发给后端的多个Tomcat实例(即Tomcat集群)来处理。这种架构可以有效分散负载,防止单一服务器过载,同时提供了冗余,当某个...
jk+apce+tomcat 整合 实现tomcat负载均衡 tomcat集群。让tomcat处理.jsp动态页面,apache处理静态页面。平且实现在一个IP下提供多个站点服务。 里面包括怎样配置apache虚拟机文件 怎样配置tomcat的虚拟机文件 花了我...
Apache+Tomcat的负载均衡配置就是为了解决这一问题。 负载均衡的基本思想是将来自用户的请求分发到多个后端服务器,这样可以避免任何单一服务器过载,同时提高整体服务的可靠性和响应时间。Apache通常通过其模块mod...