您的位置:首页 > 运维架构 > 反向代理

nginx介绍,负载均衡策略,反向代理,正向代理,常用属性以及tomcat高可用

2020-06-26 04:15 495 查看

nginx介绍:
1.一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务,(轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器)

2.其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名

特点:
占有内存少: nginx C语言开发 运行内存不超过2M
并发能力强: 理论值5万次/秒, 实际值: 2-3万次/秒

反向代理原理(http协议):
1.用户发起请求,访问真实资源
2.代理服务器拦截用户请求,根据代理服务器中的配置信息进行路径动态切换
http://image.jt.com/a.jpg------> E:/image/a.jpg
3.将路径转化完成后,由代理服务器代替用户访问真实的数据资源
4,代理服务器获取数据之后返回
5.代理服务器将结果返回给用户

反向代理核心:
1.反向代理时,用户(客户端)不清楚真实的服务器到底是谁,保护了真实服务器信息
2.用户访问代理服务器感觉上就是访问真实的服务器

正向代理:
正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求

区别:
正向代理代理的是客户端,反向代理代理的是服务端

nginx负载均衡策略
什么是负载均衡?

根据特定的负载均衡服务器,用户发起请求之后,根据配置文件中的配置顺序依次访问服务器,减少单体服务器并发压力

第一种:轮询策略,
根据配置文件的顺序,依次访问tomcat服务器

#tomcat集群配置 windows集群   upstream 集群的定义
#默认规则 轮询策略
upstream jtWindows {
server     127.0.0.1:8081;
server     127.0.0.1:8082;
server     127.0.0.1:8083;
}

第二种:权重策略
人为配置,指定某些服务器多处理请求,一般都是让性能更优的服务器多处理用户请求(能者多劳)关键字:weight

#tomcat集群配置 windows集群   upstream 集群的定义
#默认规则 轮询策略
upstream jtWindows {
server     127.0.0.1:8081   weight=6;
server     127.0.0.1:8082   weight=3;
server     127.0.0.1:8083   weight=1;

第三种:IPhash策略
原因:用户频繁登录不能保证用户数据的一次性,所以可以将用户的IP地址与tomcat服务器进行绑定 关键字:ip_hash;

#tomcat集群配置 windows集群   upstream 集群的定义
#默认规则 轮询策略
upstream jtWindows {
ip_hash;
server     127.0.0.1:8081   weight=6;
server     127.0.0.1:8082   weight=3;
server     127.0.0.1:8083   weight=1;
}

IPhash的弊端:
1.如果tomcat服务器后台宕机,则直接影响用户的使用
2.如果使用IPhash方式,则可能导致负载不均的现象.

总结:

IPHASH一般不会出现在公司的配置中,一般会在测试环境中配置.
应用场景:在线考试: 使用iphash方式实现同一张试卷.

常用属性
1.down属性:
需求原因:nginx如果发现tomcat服务器宕机.则在一段时间之后,依然会访问故障机.
如果tomcat服务器宕机,可以将配置文件信息,标识为down.以后用户就不会再次访问故障机.

**2.backup属性:**
备用机, 正常情况下用户不会访问故障机.只有当主机遇忙,或者主机宕机时才会访问.
#tomcat集群配置 windows集群   upstream 集群的定义
#默认规则 轮询策略
upstream jtWindows {
#ip_hash;
server     127.0.0.1:8081  down;
server     127.0.0.1:8082;
server     127.0.0.1:8083  backup;
}

tomcat高可用
如果tomcat服务器宕机,可以通过程序实现自动的检测,如果发现服务器宕机,则自动标识down,在指定的时间内用户不会再次访问故障机,到了下一个周期则尝试访问故障机是否可用

1.max_fails=设定最大的失败次数
用户通过负载均衡访问服务器,如果访问服务不能正常连接则失败次数+1 则开始进行高可用策略

2.fail_timeout 60秒
如果服务器宕机,则在60秒内用户不会再次访问故障机.直到下一个周期.会重新检测

#配置后台管理服务器
server {
listen 80;
server_name   manage.jt.com;

# /代表拦截所有的请求路径
location  / {
#代理的是请求路径
#proxy_pass   http://127.0.0.1:8091;
​
proxy_pass    http://jtWindows;
#请求链接的超时时间
proxy_connect_timeout       1;
#如果读取服务器资源时 不能及时响应,则超时
proxy_read_timeout          1;
#向服务器发送数据时的超时时间
proxy_send_timeout          1;
}
}
​
​
#tomcat集群配置 windows集群   upstream 集群的定义
#默认规则 轮询策略
upstream jtWindows {
#ip_hash;
server     127.0.0.1:8081  max_fails=1  fail_timeout=60s;
server     127.0.0.1:8082  max_fails=1  fail_timeout=60s;
server     127.0.0.1:8083  max_fails=1  fail_timeout=60s;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: