Nginx篇03-负载均衡简单配置和算法原理

本文详细介绍了Nginx的负载均衡配置,包括http、tcp和udp负载均衡,以及轮询、最少连接数、最快响应时间(Nginx Plus专属)、普通哈希、随机和IP哈希(HTTP模块专属)六种负载均衡策略的原理。通过配置示例和策略分析,帮助理解Nginx如何实现高效的负载分发。
摘要由CSDN通过智能技术生成

nginx的负载均衡配置,包括http、tcp和udp负载均衡,以及Round robinLeast connectionsLeast time(Nginx Plus专属)、Generic hashRandomIP hash(HTTP模块专属)的原理分析。

1、http负载均衡

我们先来看一小段配置文件

upstream backend {
     
  server 10.0.0.1:80  weight=1;  
  server nginx.example.com:80  weight=2; 
}

server {
   
	location / {
   
		proxy_pass http://backend;
	}
}

这是一个简单的使用upstream模块对http服务进行指定权重的负载均衡的配置文件,一般存放在nginx目录下的conf.d文件夹中。

server可以使用Unix socket、IP、DNS、FQDN等来进行服务器的指定,这里的Unix socket指的是POSIX操作系统中的组件,即用于进程间通信的那个Unix socket。也就是说如果做负载均衡的时候本机也作为server之一,使用scoket确实是可以有效提高速度的(对比DNS和IP等),因为都在同一个系统上,走进程间的通信比走网络通信要少了很多验证步骤和协议,通信的速度会更快。但是在实际业务中比较少使用这样的方式,一般都会直接使用IP方便定位主机和运维分析等。IP相比DNS和FQDN要少了一步域名解析的过程,理论上速度会快一些,但是DNS其实也可以做负载均衡,同时DNS和FQDN给了网络路由更多的控制权,实际怎么使用还要看具体的业务需求。

upstreamserver指令语法如下:

server address [parameters]
  • 关键字server必选

  • address也必选,可以是主机名、域名、ip或unix socket,也可以指定端口号

  • parameters是可选参数,可以是如下参数:

    • down:表示当前server已停用
    • backup:表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求
    • weight:表示当前server负载权重,权重越大被请求几率越大,默认是1
  • max_failsfail_timeout一般会关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,那么Nginx会认为其已经挂掉了,从而在fail_timeout时间内不再去请求它,fail_time

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值