Nginx(二):Nginx能做什么以及为什么Tomcat不能做集群?

4 篇文章 0 订阅
3 篇文章 0 订阅

反向代理

在这里插入图片描述

反向代理应该是Nginx做的最多的一件事了,什么是反向代理呢,以下是百度百科的说法:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。

简单总结就是:

1.接口仓库:反向代理服务器是外界访问服务的总接口
2.对外总接口:真实服务器不对外暴露,地址全部保存在反向服务器中
3.请求转发:外界访问时,访问的是反向服务器,反向服务器根据域名+URL判断要访问的服务,并将URL请求转发到对应服务器
4.结果返回:当目标服务器处理完结果后,由反向服务器负责返回给浏览器抢

负载均衡

当同一个应用程序有两个以上的服务器同时运行时,根据某种规则把请求分发到指定的服务器,这就是负载均衡。负载均衡一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而这些规则就叫做负载均衡策略,Nginx提供一下几种负载均衡策略

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

注:默认是随机轮询

2、weight
指定轮询机率,机率越大的后端服务器,请求分配越多

3、ip_hash
每个请求按访问ip的hash结果分配,这样,每个访客都访问固定的后端服务器。同时,该负载均衡策略可以解决session同步问题

指定IP的请求交给专门的服务器处理,优点很明显,缺点也是

4、fair(第三方):
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

简单的来说:就是谁反应快就给谁

5、url_hash(第三方):
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

比ip_hash划分的更细:比如 www.shop.com/getConsumerList, 这个地址分给专门的服务器去处理

动静分离

通过前面对Nginx的了解,我们已经知道Nginx是一个http服务器,也就是说它本身就是一个静态资源的服务器,所以我们可以把一个网站上的js,css,html,文件等静态资源交给Nginx处理(后面会有详细的介绍)

实际上:

我们使用Nginx的真正核心原因是tomcat等服务器是不能做集群的

原因:无他,当外部请求进来的时候,tomcat并不能对请求进行分发和调度

末尾总结

  1. 能管理应用的所有接口,并且作为所有请求的总入口
  2. 能将请求转发到目标服务器,还能够将处理好的数据返回给浏览器
  3. 具有管理负载均衡的多种策略:常用轮询
  4. 能够实现动静分离,所有的静态资源都可以交给Nginx响应,有效地减轻了Tomcat服务器的负担,让其专心响应动态请求
  5. 最重要的一点;Nginx能够完成Tomcat不能完成的集群,原因是Tomcat不能进行请求的分发和任务的调度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值