阅读量:75
CentOS 下 Tomcat 负载均衡实操指南
一、方案总览与准备
二、方案一 Nginx 作为负载均衡器
http {
upstream tomcat_servers {
server 192.168.1.11:8080;
server 192.168.1.12:8080;
# 可选:权重
# server 192.168.1.11:8080 weight=3;
# server 192.168.1.12:8080 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
三、方案二 Apache HTTP Server 作为负载均衡器
BalancerMember http://192.168.1.11:8080 route=node1
BalancerMember http://192.168.1.12:8080 route=node2
ProxySet lbmethod=byrequests
:80 >
ServerName your.domain
ProxyPreserveHost On
ProxyPass / balancer://tcsrvs/
ProxyPassReverse / balancer://tcsrvs/
Require all granted
四、会话保持与会话复制
Tomcat 集群会话复制(无状态/容错更强):
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.jsp|.*\.do"/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
Cluster>
<Context>
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
Context>
五、验证与运维要点
健康检查与故障转移:端口与防火墙:确认负载均衡器与后端 Tomcat 的 80/8080(及 AJP/8009 若使用)已放行;同机多实例需避免端口冲突。
以上就是关于“centos环境下tomcat如何进行负载均衡”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm