一个tomcat 服务器只能并发响应200个左右,那如果并发高了怎么解决呢?
1集群
即既然一台满足不了那就搭建多个tomcat总能解决问题
这样是能解决并发问题那又怎么让用户进入哪个呢?
2 nginx
nginx 有3个作用
1,静态资源的部署
2,反向代理
3 基于反向代理实现负载均衡
2 反向代理即对于服务器来说客户端通过nginx来访问服务器
正向代理:指客户端通过nginx访问到服务端
两个是相对的
并且可以在nginx上来控制能够访问那些服务端
3负载均衡
基于集群和反向代理实现负载均衡
客户端访问nginx然后nginx搭建服务器组 即里面都是服务器的ip和端口
然后通过分配方式分配请求在了响应实现负载均衡
#upstream指令可以定义一组服务器
upstream targetserver{
server IP:8080;
server ip:8080;
}server {
listen 80;
server_name localhost;
location / {
proxy_pass http://targetserver;
}
}其中没有指定分配策略就是默认轮询即你一个我一个它一个
然后:
重新加载nginx配置文件,访问**
nginx -s reload
然后直接nginx所在服务器的ip地址就可以了
负载均衡策略
名称 说明 特点 轮询 默认方式 weight 权重方式 根据权重分发请求,权重大的分配到请求的概率大 ip_hash 依据ip分配方式 根据客户端请求的IP地址计算hash值, 根据hash值来分发请求, 同一个IP发起的请求, 会发转发到同一个服务器上 least_conn 依据最少连接方式 哪个服务器当前处理的连接少, 请求优先转发到这台服务器 url_hash 依据url分配方式 根据客户端请求url的hash值,来分发请求, 同一个url请求, 会发转发到同一个服务器上 fair 依据响应时间方式 优先把请求分发给处理请求时间短的服务器
权重的配置:如:
#upstream指令可以定义一组服务器
upstream targetserver{
server 197.167.200.201:8080 weight=10;
server 196.165.200.201:8081 weight=5;
}
上述配置的weight权重是相对的,在上述的配置中,效果就是,在大数据量的请求下,最终8080接收的请求数是8081的两倍。