首页 > 编程知识 正文

网站负载均衡,两台nginx负载均衡

时间:2023-05-05 20:12:15 阅读:48562 作者:2612

要理解负载均衡,必须明确前向代理和反向代理。

前锋代理和逆向代理【总结】

注:

前向代理,代理是用户。 什么是反向代理、代理什么是服务器负载均衡一台服务器的单位时间访问次数越多,服务器的压力就越大,超过自身的容错能力越大,服务器就会崩溃。 为了避免服务器崩溃并让用户体验良好,我们通过负载平衡来分担服务器的压力。

我们可以制作很多服务器,构成一个服务器集群。 用户访问网站时,首先访问一个中间服务器,为该中间服务器选择服务器群集中压力小的服务器,并将访问请求部署到该服务器上。 这样,每次用户访问时,服务器群集中的每个服务器的压力都会平衡,分担服务器的压力,避免服务器崩溃。

负载均衡是用反向代理的原理实现的。

负载均衡的几种常见方法1,轮询(默认)

每个请求都将从按时间顺序逐一分配发送到不同的后端服务器。 如果后端服务器停机,它将自动删除。

ustreambackserver { server 192.168.0.14; 服务器192.168.0.15; ) 2、微信

指定轮询的概率。 weight与访问率成正比,在后端服务器性能不均匀时使用

情况。

ustreambackserver { server 192.168.0.14 weight=3; 服务器192.168.0.15 weight=7; }权重越高,被访问的概率越高。 在上例中,分别为30%、70%。

3、在上述方式中,在负载均衡系统中,在用户登录到一个服务器的情况下,在该用户第二次请求时,由于我们是负载均衡系统,所以针对每个请求被重新配置到服务器集群中的某一个,登录到一个服务器的用户是另一个服务器

要解决此问题,请使用ip_hash命令。 如果客户已经访问服务,则在用户再次访问时,散列算法会自动将请求放置到服务中。

每个请求都被分配给访问ip的每个哈希结果。 这样,每个访问者都可以通过固定访问一个后端服务器来解决会话问题。

upstream backserver { ip_hash; 服务器192.168.0.14:88; server 192.168.0.15:80; ) 4、fair (第三方) ) ) ) ) ) ) )。

按后端服务器的响应时间分配请求,进行响应时间短的优先分配。

upstreambackserver { server server 1; 服务器2; fair; (5、url_hash ) (第三方) ) ) ) ) )

根据访问url的散列结果分配请求,以便每个url都发送到同一后端服务器。 后端服务器为缓存时有效。

ustreambackserver { server squid 133603128; 服务器squid 2:3128; hash $request_uri; hash_method crc32; }每个设备的状态设置为:

1.down表示单前服务器暂时不参与负载

2 .默认情况下,1 .权重越大,权重越大。

3.max_fails :默认情况下,允许请求失败的次数为1。 如果超过了最大次数,则返回proxy_next_upstream模块定义的错误

4.fail_timeout:max_fails次失败后暂停的时间。

5.backup :如果所有其他非backup计算机都已关闭或忙碌,请请求备份计算机。 所以这台机器的压力会最轻。

配置示例:

#用户nobody; 工作器_ processes 4; events { #最大并发行数worker_connections 1024; 使用}http{ #选定服务器列表upstream myproject{ # ip_hash命令将同一用户部署到同一服务器上。 ip_hash; 服务器125.219.42.4 fail _ time out=60s; 服务器172.31.2.183; } server{ #监听端口listen 80; #根目录下的位置/{ #选择哪个服务器列表proxy _ pass http://my项目; } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。