nginx负载均衡

nginx负载均衡,第1张

nginx的负载均衡策略有4种,轮询、权重、IP地址哈希、最少连接策略。

示例用nginx默认的负载均衡策略,即轮询策略,本机服务器地址是127.0.0.1,域名localhost指向该地址,访问 http://localhost/api/info 三次,轮询转发请求到 http://127.0.0.1:8080/api/info 、 http://127.0.0.1:8081/api/info 、 http://127.0.0.1:8082/api/info ,接口返回此次调用的服务器端口信息8080、8081、8082。

如图所示:

如图所示,访问三次 http://localhost/api/info ,依次返回8080、8081、8082:

一般而言,linux上安装nginx,配置文件默认路径是在etc/nginx/nginx.conf,当然也可以通过ps -ef|grep nginx来查看启动的nginx是用哪个路径下的配置文件。

编辑好配置文件之后,需要用nginx -t查看此次配置文件有没有出错,没错的话再重新加载配置文件即可,用nginx -s reload命令。

实现负载均衡可有以下算法:

Nginx实现负载均衡的原理是利用Http重定向实现负载均衡

rpm 安装方式nginx配置文件地址 /etc/nginx/conf.d 目录下面,配置文件内容结构如下:

修改完配置文件以后,还需要输入重新加载配置命令:

我们从官网上面看一下负载均衡配置案例,然后根据案例配置去对每项参数进行解释,案例如下( 注意:以下模块内容必须放在http模块下 ):

从上面这个案例Nginx会作如下执行,默认情况下,请求使用 加权循环平衡法。 在上面的示例中,每 7 个请求将按如下方式分配: 5个请求去 backend1.example.com 向第二台和第三台服务器分别发送一个请求。 如果在与服务器通信过程中发生错误,请求将 被传递到下一个服务器,依此类推,直到所有的功能 服务器将被尝试。 如果无法从任何服务器获得成功的响应, 客户端将收到与最后一个服务器通信的结果。

语法:

parameters类别:

商业版本需要付费的其他属性这里就不阐述了

1)轮训策略:

upstream模块默认的负载均衡策略是轮训策略,它会依次在服务列表进行分发

2)加权策略:

容器会根据server设置的权重进行请求分配,例如server1 weight=5 ,server2 weight=2 将会使得每 7 个请求将按如下方式分配server1 5个请求,server2两个请求。

3)Ip哈希策略:

其中请求 根据客户端 IP 地址在服务器之间分布,确保来自同一客户端的请求将始终 传递到同一服务器。使用方法是在upstream模块下面添加ip_hash

4)最少连接数策略(least_conn):

指定组应使用负载平衡方法,其中请求 传递给活动连接数最少的服务器, 考虑到服务器的权重。 如果有多个这样的服务器,它们会依次尝试使用 加权循环平衡法。

5)扩展策略(需要安装插件):

还有一些其他需要付费的策略这里就不进行阐述了,比如:最少时间策略( least_time)、随机策略等。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/219788.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存