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内核 独一份