老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Nginx中常见的几种负载均衡方式介绍!老男孩Linux培训班

老男孩IT教育

行业新闻

2022年9月23日 09:29

提到Nginx,就会想到负载均衡,Nginx将请求分摊到不同的服务器中,保证服务的可用性,缓解服务压力,保证服务的响应速度,即使某一个应用服务不可用,也可以保证业务的正常进行,并且方便对服务器进行扩容缩容。

       提到Nginx,就会想到负载均衡,Nginx将请求分摊到不同的服务器中,保证服务的可用性,缓解服务压力,保证服务的响应速度,即使某一个应用服务不可用,也可以保证业务的正常进行,并且方便对服务器进行扩容缩容。

Linux云计算SRE课程

       Nginx中常见的几种负载均衡方式:

       1、轮询(Nginx自带、默认)

       该策略是Nginx默认的负载均衡策略,每一个客户端请求按时间顺序轮流分配到不同的服务器上,如果后端服务不可以用,会自动过滤掉。

upstream my_test_server {
 	server 192.168.0.100:8080;
 	server 192.168.0.101:8080;
}

       2、weight 权重(Nginx自带)

       weight代表权重的意思,用于指定轮询的几率,默认权重都是1,可以手动设置调整,权重越高,被分配的次数越多,weight权重和访问比例是成正比的,用于解决后端服务器性能不均衡时,调整访问比例。

upstream my_test_server {
 	server 192.168.0.100:8080 weight=1;
 	server 192.168.0.101:8080 weight=2;
 	server 192.168.0.102:8080 weight=3;
}

       3、ip_hash(Nginx自带)

       ip_hash是将每个请求按照访问ip的hash结果进行分配,这种方式可以保证同一个用户会固定访问一个后端服务器。优点:可以保证session会话,解决服务器之间session不能共享的问题。

upstream my_test_server {
	ip_hash;
 	server 192.168.0.100:8080;
 	server 192.168.0.101:8080;
}

       4、least_conn(Nginx自带)

       将请求转发给连接数较少的后端服务器。每个后端服务器配置可能不同,处理的请求也有可能不同,对于处理的请求有快有慢,least_conn是根据后端服务器的连接情况,动态的选择连接数量较少的一台服务器来处理当前的请求。

upstream my_test_server {
	least_conn;
 	server 192.168.0.100:8080;
 	server 192.168.0.101:8080;
}

       5、fair(第三方)

       fair是按照服务器端的响应时间来分配请求,响应时间短的服务器优先分配。第三方的负载均衡策略需要安装第三方的插件。

upstream my_test_server {
	fair;
 	server 192.168.0.100:8080;
 	server 192.168.0.101:8080;
}

       6、url_hash(第三方)

       url_hash是根据url的hash结果进行分配请求,每一个url会固定到同一个服务器上,配合缓存使用,可以减少不必要的下载和资源时间的浪费。每次同一个url请求到达同一个服务器上,第一次加载后放入缓存,后面再次请求,直接取缓存资源。如果不采用url_hash,可能会导致请求到达不同的服务器,资源出现重新加载的情况。第三方的负载均衡策略需要安装第三方的插件。

upstream my_test_server {
	hash $request_uri;
 	server 192.168.0.100:8080;
 	server 192.168.0.101:8080;
}

       老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。

   推荐阅读:

       Linux中单引号和双引号的使用方法及注意事项!LinuxSRE工程师培训

       Linux系统中OSI模型是什么,各层都有什么?SRE工程师培训班

       2022最新Docker常见面试题汇总!老男孩Linux培训班

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。