nginx介绍,负载均衡策略,反向代理,正向代理,常用属性以及tomcat高可用
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; }
- 原 Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
- Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
- Centos7教你玩转利用nginx实现Tomcat负载均衡策略
- 最简单的Nginx讲解--HTTP服务器、正向代理、反向代理、负载均衡
- Nginx-反向代理实现及负载均衡策略
- Nginx安装、以及反向代理、负载均衡、资源动静分离简介
- Nginx反向代理、缓存、 负载均衡、upstream以及fastcgi模块应用
- Keepalived+Nginx+Redis+Tomcat实现高可用web负载均衡
- Tomcat介绍、安装配置以及简单的实现Tomcat负载均衡
- 基于nginx+tomcat的负载均衡以及memcached解决交叉存储
- nginx配置反向代理以及负载均衡
- Nginx反向代理实现Tomcat集群服务器的负载均衡
- 反向代理与正向代理的区别详解与nginx的负载均衡
- 一、nginx介绍之一 正向和反向代理、负载均衡
- 36 dubbo支持哪些负载均衡、高可用以及动态代理的策略?
- keepalived + nginx + tomcat+memcached+高可用主从热备+负载均衡
- Nginx配置文件的常用设置(附详细说明及Nginx的proxy负载均衡、memcached负载均衡、反向代理)
- Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建
- Nginx+Tomcat实现负载均衡、Redis实现Tomcat session会话共享
- 图文解说:Nginx+tomcat配置集群负载均衡