您的位置:首页 > 运维架构 > Nginx

Nginx负载均衡策略

2020-07-23 10:35 309 查看

1.什么是负载均衡

说明:在分布式条件下,为了提高用户请求的响应能力,准备多台服务器,一起抗击高并发,需要用户通过同一个网址访问不同服务器的技术称之为负载均衡。

2.准备多台tomcat服务器

## **规划说明**
准备3台tomcat服务器,并且端口号依次为8081/8082/8083,之后完成项目Windows部署。

## 编辑MsgController
@RestController
public class MsgController{
@Value("${server.port}")
```	private int port;

//主要获取当前访问服务器的端口号信息!!!
@RequestMapping("/getPort")
public String getMsg(){
return "您当前访问的服务器端口号:"+port;
}
2.1将项目打包并在windows下利用命令实现项目发布:
java -jar 8081.war
2.2关于项目方发布访问问题

说明:通过命令发布项目之后,浏览器访问速度较慢。(不正常)
方式1:直接关闭当前dos命令窗口
方式2:ctrl + c 方式释放资源。

标题2.3Nginx实现负载均衡 2.3.1负载均衡需求说明

要求:通过http://manage.jt.com 方式。依次访问8081/8082/8083服务器。

负载均衡策略----轮询

说明:根据配置文件的顺序,依次访问tomcat服务器。

#配置域名代理
server {
listen   80;
server_name manae.jt.com;
location / {
#代理的是服务器地址
#proxy_pass http://localhost:8091;
proxy_pass http://jtw;
}
}
#定义多台tomcat服务器  1.轮询策略
upstream jtW {
server localhost:8081;
server localhost:8082;
server localhost:8083;
}
负载均衡策略----权重

权重策略:让性能更优的服务器更多的处理请求。

#定义多台tomcat服务器  1.轮询策略		2.权重策略
upstream jtW {
server localhost:8081   weight=6;
server localhost:8082	weight=5;
server localhost:8083   weight=3;
}
负载均衡策略----IPHASH策略

说明:如果需要用户与后端服务器进行绑定时,可以使用IPhash策略。
案例A:有时用户可能做登陆操作,可能将用户信息保存到session对象中,如果这时采用轮询/权重的策略,可能访问其他的业务服务器,导致用户频繁的登陆。
配置信息:

#定义多台tomcat服务器  1.轮询策略  2.权重策略	3.ip_hash策略
upstream jtW {
ip_hash;
server localhost:8081 weight=6;
server localhost:8082 weight=3;
server localhost:8083 weight=1;
}

IPHASH原理:

补充知识:
1)IPHASH一般只做测试时用。
2)使用IPHASH可能造成负载不均的现象。某些服务器负载压力过高,有宕机的风险。
3)使用IPHASH是,如果后端服务器宕机,则直接影响用户的使用。
4)工作转给你如果需要实现用户信息的共享,一般采用SSO的方式进行。
用户只需要一次登陆就可以访问所以的相互信任的应用系统

关于Nginx属性配置

2.3.2关于Nginx工作原理说明

默认条件下,nginx会按照指定的负载均衡规则访问服务器。如果访问的服务器又出现了问题,那么则会访问下一台服务器。但是随着负载均衡的继续,仍然访问故障机,效率低。

down属性

说明:如果遇到某台tomcat服务器宕机,则可以通过down属性标识故障机,则nginx永远不会主动访问故障机。

#定义多台tomcat服务器  1.轮询策略  2.权重策略  3.ip_hash策略
upstream jtW {
ip_hash;
server localhost:8081 weight=6 down;
server localhost:8082 weight=3;
server localhost:8083 weight=1;
}

backup属性

说明:backup的作用表示标识备用机。 一般情况下备用不工作。当遇到主机全部宕机/遇忙时,这时备用机才会失效。

#定义多台tomcat服务器  1.轮询策略  2.权重策略  3.ip_hash策略
upstream jtW {
#ip_hash;
server localhost:8081 weight=6 down;
server localhost:8082 weight=3;
server localhost:8083 weight=1	backup;
}

设定访问超时

属性说明:
1.max_fails=1 允许访问失败的最多次数
2.fail_timeout=60s 失败的超时时间(理解为时间区间)
当服务器宕机时,这时配置文件还没有被标识down时,开启了高可用的机制,只要失败的次数超过最大失败次数,则在指定的时间周期之内,不会再次访问故障机

#定义多台tomcat服务器  1.轮询策略  2.权重策略  3.ip_hash策略
upstream jtW {
ip_hash;
server localhost:8081 weight=6 	max_fails=1  fail_timeout=60s;
server localhost:8082 weight=3	max_fails=1  fail_timeout=60s;;
server localhost:8083 weight=1	max_fails=1  fail_timeout=60s;;
}

3.Linux学习

3.1检查虚拟机网络配置

3.1.1网络配置的作用

实现windows与Linux的数据的通信,通讯的主要的俩种方式: 1.桥接模式 2.nat模式

3.1.2桥接模式

说明:
1)使用桥接模式相当于虚拟机直接接入当前局域网,并且独占IP
2)如果采用桥接模式,则必须有第三方的设备进行支持
3)凡是在局域网中的设备,都可以与虚拟机进行通讯.

3.1.3NAT模式

说明:
1)NAT模式相当于在本机开辟一块网络空间地址.
2)只有本机能够访问,其他服务器不能访问

3.1.4切换虚拟机网络空间地址(切换网段)

虚拟机IP

如果

ip addr
命令没有ens33 ip地址的话用下面的指令

命令:
1).systemctl restart NetWorkManager
2).service network restart
3).ip addr

4.Xshell远程连接

1)通过windows ping Linux 服务器

2).配置xsheel程序 连接远程服务器

Linux内核介绍

说明:当下Linux内核 独一份

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: