nginx2-nginx实现反向代理-负载均衡|宕机处理

版权声明:fromZjy QQ1045152332 https://blog.csdn.net/qq_36762677/article/details/83545935

集群会产生哪些问题

  1. 分布式job幂等性问题(重复),例如任务调度
  2. 会话session共享问题
  3. 分布式生成全局id(提前生成好,存在redis)

反向代理

不暴露真实ip地址
先配置反向代理,再配置负载均衡(集群)
在这里插入图片描述
www.fangwen.com已经在host文件修改为127.0.0.1必须加分号

server {
        listen       80;
        server_name  www.fangwen.com;
        location / {
		    proxy_pass  http://127.0.0.1:8081;
			index  index.html index.htm;
        }

负载均衡

实现集群根据权重[,轮训机制机器相同],ip绑定
解决:高吞吐量

1.轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
添加到配置文件中,与server并列(下面一样)

upstream backserver { 
	server 192.168.0.14:8080; 
	server 192.168.0.15:8081; 
} 

2.指定权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream backserver { 
	server 192.168.0.14 weight=10; 
	server 192.168.0.15 weight=10; 
} 

3.IP绑定 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器
可以解决session共享的问题。

upstream backserver { 
	ip_hash; 
	server 192.168.0.14:88; 
	server 192.168.0.15:80; 
} 

集群宕机容错机制

1.nginx服务器没宕机

  • nginx配置,集群宕机,自动轮询到下一台服务器
server {
        listen       80;
        server_name  www.fangwen.com;
        location / {
		    proxy_pass  http://backserver;
			index  index.html index.htm;
			proxy_connect_timeout 1;
            proxy_send_timeout 1;
            proxy_read_timeout 1;
        }
}

session存放在redis中以防失效

  • 一主多备
    在这里插入图片描述

2.nginx服务器可能宕机

  • 多主多备

猜你喜欢

转载自blog.csdn.net/qq_36762677/article/details/83545935