简介
由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流程的做法就是通过Nginx来实现Tomcat集群的负载均衡。
环境准备
准备Tomcat
server.xml上的
服务器端口
<Server port="8005" shutdown="SHUTDOWN">
HTTP端口
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />
AJP端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
在服务器上, 安装两台tomcat, 然后分别改Tomcat服务器的端口号
tomcat8888:
服务器端口8005----》8015
HTTP端口8080----》8888
AJP端口8009----》8019
tomcat9999:
服务器端口8005----》8015
HTTP端口8080----》8888
AJP端口8009----》8019
之后记得修改,两个tomcat各自的主页,让两者的index.jsp内容有不同之处
安装配置Nginx
upstream serverpool{server localhost:8888;server localhost:9999;
}
server {listen 8341;server_name localhost;location / {proxy_pass http://serverpool/;}
}
负载均衡策略
1). 轮询
最基本的配置方法,它是upstream模块默认的负载均衡默认策略。每个请求会按时间顺序逐一分配到不同的后端服务器。
upstream serverpool{
server localhost:8888;
server localhost:9999;
}
参数描述
fail_timeout 与max_fails结合使用
max_fails 设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针
对该服务器的请求都失败了,那么认为该服务器会被认为是停机了
fail_time 服务器会被认为停机的时间长度,默认为10s
backup 标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里
down 标记服务器永久停机了
2). weight权重
权重方式,在轮询策略的基础上指定轮询的几率。此策略比较适合服务器的硬件配置差别比较大的情况。
upstream serverpool{
server localhost:8888 weight=3;
server localhost:9999 weight=1;
}
3). ip_hash
指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。
upstream serverpool{
ip_hash;
server 192.168.192.133:8080;
server 192.168.192.137:8080;
}
tomcat-windows下载
链接:https://pan.baidu.com/s/1F610XcIol2DGbknf_xFydw
提取码:f8sn
–来自百度网盘超级会员V3的分享
tomcat-linux下载
链接:https://pan.baidu.com/s/1HcaICs2aKtFXNyzUBPdnCQ
提取码:p2dv
–来自百度网盘超级会员V3的分享
nginx-windows下载
链接:https://pan.baidu.com/s/1piDAaowIfPIsOXv7tc-shA
提取码:qbct
–来自百度网盘超级会员V3的分享
nginx-linux下载
链接:https://pan.baidu.com/s/1AbOnknCJ5v4jWaC_rc2z2w
提取码:zstc
–来自百度网盘超级会员V3的分享