轮询(nginx)

本文深入探讨了轮询(Polling)机制的基本概念及其在负载均衡中的应用,特别是通过Nginx的配置实例展示了如何利用轮询提高服务器效率,确保服务稳定性和响应速度。同时,文章还介绍了轮询在不同服务器性能不均情况下的权重分配策略。

轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称"程序输入"(Programmed I/O)。轮询法的概念是:由CPU定时发出询问,依询问每一个周边设备是否需要其他服务,由即给予服务,服务结束后在问一个周边,接着不断周而复始。

通俗来讲,轮询是为了负载均衡让不是一个的服务器一起工作,有点像是个组合一起出动,提高做事效率,然而也要合理分工(比如种树,有挖坑的,有放树的,有埋坑的,有浇水的分工合作缺一不可,也可以一个人把这些都做了,那就有些累了。有资源可用为什么不用呢是吧。)我是这样理解的也不知道合不合理,理解尚浅,欢迎知道的大神指点一二。
之前都是看到的概念,这次是实际的操作,在发布外网的时候,nginx中用的轮询下面说下我用到的轮询的配置
wight实例

	upstream blance-integral {
	//22.86服务器和22.93服务器访问量是相同的。
    	server 192.168.22.86  weight=10;
    	server 192.168.22.93  weight=10;
    }

简介,指定轮询几率,用户后端服务器性能不均的情况,weight(权重)和访问率成正比。
若后端服务器down掉,能自动把down的服务器剔除,继续运行

这是我用到的一种方式,还有其他的形式请参考nginx轮询机制的几种形式
nginx upsteam的几种配置方式

Nginx 中配置代理轮询可以通过定义 `upstream` 块来实现,默认情况下 Nginx 使用轮询(Round Robin)算法将请求依次分发到后端服务器。此方式无需额外配置负载均衡策略,只需在 `upstream` 中列出多个后端服务地址即可。 以下是一个典型的轮询配置示例: ```nginx http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ``` 在此配置中,Nginx 会按照 `upstream` 中定义的 `backend` 服务器顺序依次将请求转发给 `backend1.example.com`、`backend2.example.com` 和 `backend3.example.com`,实现基本的负载均衡效果。 如果希望为不同服务器设置不同的请求权重,可以使用 `weight` 参数指定每台服务器的优先级。例如: ```nginx upstream backend { server backend1.example.com weight=3; server backend2.example.com; server backend3.example.com weight=2; } ``` 该配置表示 `backend1.example.com` 的请求权重为 3,`backend3.example.com` 的权重为 2,而 `backend2.example.com` 没有指定权重,因此默认值为 1。Nginx 将按照权重比例分配请求,例如在 6 次请求中,`backend1` 会处理 3 次,`backend3` 处理 2 次,`backend2` 处理 1 次。 配置完成后,需要重新加载 Nginx 配置以使更改生效,可以使用以下命令: ```bash ./nginx -s reload ``` 或 ```bash sudo service nginx restart ``` 这种方式适用于后端服务性能相近或希望实现简单负载均衡的场景[^1]。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值