Nginx实战应用-负载均衡,Mysql和Redis数据同步该怎么做

在这里插入图片描述

2.Nginx配置

upstream块

upstream name{…}

upstream gupao{

server 192.168.12.1:8081;

server 192.168.12.1:8082;

server 192.168.12.1:8083;

}

server {

location / {

proxy_pass http://gupao;

}

}

server块

语法:

server address [parameters]

| 组成 | 说明 |

| — | :-- |

| server | 必选 |

| address | 必选 可以是主机名、域名、ip,也可以指定端口号 |

| parameters | 可选

down:

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

表示当前server已停用

backup:表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求

weight:表示当前server负载权重,权重越大被请求几率越大。默认是1

max_fails和fail_timeout一般会关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,那么Nginx会认为其已经挂掉了,从而在fail_timeout时间内不再去请求它,fail_timeout默认是10s,max_fails默认是1,即默认情况是只要发生错误就认为服务器挂掉了,如果将max_fails设置为0,则表示取消这项检查。 |

在这里插入图片描述

Upstream模块调度算法

1.轮询(默认): 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

在这里插入图片描述

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

在这里插入图片描述

3.权重:即可以指定轮询比率,weight和访问几率成正比,主要应用于后端服务器异质的场景下

在这里插入图片描述

4.响应时间:公平地按照服务器的响应时间来分配请求,意味着后端响应时间最短的优先分配

Nginx实战应用-负载均衡,Mysql和Redis数据同步该怎么做_第1张图片

在这里插入图片描述

检查配置文件提示无法识别 fair 这是因为 fair属于第三方模块,官方安装包中并没有。

https://github.com/gnosek/nginx-upstream-fair 官方下载

然后解压缩

unzip nginx-upstream-fair-master.zip

未安装Nginx

切换到Nginx目录执行一下操作

配置:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master

编译安装

make && make intstall

安装过Nginx

切换到Nginx目录执行一下操作

你可能感兴趣的:(程序员,面试,java,后端)