2.8 Nginx负载均衡之ip_hash

         

  1. 作用: 是同一个用户(状态不更改的情况下: 例如ip),的所有请求会落到一台服务器上;

  2. 目的: 提高用户请求性能,提高程序吞吐性;

  3. 原理: (和HashMap类似)

        将用户的ip,通过hash算法得到的值 去 % 当前能够使用的服务器数量得到一个下标值;

        然后该下标值就决定用户请求落到哪一台服务器上;

  4. 使用方法: upstream 中 配置 ip_hash;

  5. 缺陷: 当使用ip_hash ,如果有一台用户机向,服务器发送大量请求;这台用户机的请求全部落到某一台服务器上,可能会导致这台服务器宕机;

备注: 当使用 ip_hash, 需要停掉某一台服务器,不能直接删除,应该使用 down

官网说明:

Syntax:ip_hash;
Default:
Context:upstream

Specifies that a group should use a load balancing method where requests are distributed between servers based on client IP addresses. The first three octets of the client IPv4 address, or the entire IPv6 address, are used as a hashing key. The method ensures that requests from the same client will always be passed to the same server except when this server is unavailable. In the latter case client requests will be passed to another server. Most probably, it will always be the same server as well.

IPv6 addresses are supported starting from versions 1.3.2 and 1.2.2.

If one of the servers needs to be temporarily removed, it should be marked with the down parameter in order to preserve the current hashing of client IP addresses.

Example:

upstream backend {
    ip_hash;

    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com down;
    server backend4.example.com;
}

Until versions 1.3.1 and 1.2.2, it was not possible to specify a weight for servers using the  ip_hash load balancing method.

测试配置如下:

#配置上游服务器
upstream tomcats {
    ip_hash;
    server    192.168.93.129:8080;
    server    192.168.93.130:8080;
    server    192.168.93.131:8080;
}

server {
    listen    80;
    server_name    192.168.93.128;
   
    location / {
        proxy_pass    http://tomcats;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lvdapiaoliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值