Nginx负载平衡配置

一、什么是负载平衡

  负载平衡 成立在现有网络布局之上,它提供了一种便宜有效透明的要领扩展网络设备和服务器的带宽、增加吞吐量、增强网络数据处理惩罚本领、提高网络的机动性和可用性。负载平衡,英文名称为 Load Balance,其意思就是分摊到多个操纵单位长举办执行,譬喻 Web 处事器、FTP 处事器、企业要害应用处事器和其它要害任务处事器等,从而配合完成事情任务。

二、负载平衡计策 1、 轮询(默认)

  每个请求定时间顺序逐一分派到差异的后端处事器,假如后端处事器 down掉,能自动剔除。

2、指定权重

  指定轮询几率,weight 和会见比率成正比,用于后端处事器机能不均的环境。

3、IP 绑定 ip_hash

  每个请求按会见 ip 的 hash 功效分派,这样每个访客牢靠会见一个后端处事器,可以办理 session 的问题。

4、fair(第三方)

  按后端处事器的响应时间来分派请求,响应时间短的优先分派。

5、url_hash(第三方)

  按会见 url 的 hash 功效来分派请求,使每个 url 定向到同一个后端处事器,后端处事器为缓存时较量有效。

三、轮询(默认) 1、模仿集群

  配置两个Tomcat同时会见一个servlet

  

import Javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/NginxServlet")
public class NginxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Nginx负载平衡!");
        System.out.println("当前会见端口:"+request.getServerPort());
    }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

2、修改nginx.conf文件

  

Nginx负载均衡设置

 3、启动Nginx和Tomcat  4、会见  2次

  

Nginx负载均衡设置

 5、节制台结果  80和81端口输出一次

  

Nginx负载均衡设置

  

Nginx负载均衡设置

四、配置权重 1、模仿集群

  配置两个Tomcat同时会见一个servlet

  

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/NginxServlet")
public class NginxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Nginx负载平衡!");
        System.out.println("当前会见端口:"+request.getServerPort());
    }

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

2、修改nginx.conf文件

  

Nginx负载均衡设置

 3、启动Nginx和Tomcat  4、会见  5次

  

Nginx负载均衡设置

 5、节制台结果  (底层算法默认先走一遍轮询)80输出2次 81输出1次

  

Nginx负载均衡设置

   

Nginx负载均衡设置

五、IP 绑定  1、模仿集群

  配置两个Tomcat同时会见一个servlet

  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsdjww.html