首页 > 技术文章 > 在高并发情况nginx的作用

920913cheng 2019-03-07 11:13 原文

1 场景一:如图 在单机的情况下例如:单个tomcat 有100w条请求的时候,而默认tomcat支持的并发数量并不能达到要求,所所以单台服务器 扛不住 容易宕机,瘫痪 

2 高并发的情况下要让服务器不宕机 挂点,则需要集群 如图:

3 在tomcat集群的情况下,客户端的请求,有可能会出现所有的请求都交给了同一个tomcat处理,导致那个tomcat高并发宕机,而其余集群的tomcat却一直处于闲置状态。所有应该有一种办法能解决这个问题,可以使用nginx

 

4:nginx反向代理服务器处理集群时候的请求转发

流程:客户端发送请求经过反向代理服务器,代理服务器根据配置的策略(权重,轮询,ip绑定) 将请求转发给tomcat,这样会避免在集群的情况下,有的服务器处于负荷运行,而有的服务器却是闲置状态,达到一个均衡。(负载均衡),使用反向代理服务器,客户端发送请求代理服务器的时候,请求的是nginx的公网ip,nginx和tomcat集群 处在一个局域网内,nginx转发的时候 是通过内网转发,不会暴露tomact集群的真实ip,提高了安全性

 

5:在集群中会出现哪些问题:

集群(同一个项目 部署到不同的服务器)

1.分布式Job幂等性 

2.会话共享问题 A客户端连接A 服务器以后,A 客户端 的请求在被分到B 服务器,

3.分布式生成全局id(生成订单号)A 服务器生成订单号的时候,B服务器也生成订单号,可能导致生成的订单号相同,(提前生成一批订单号存放到reids)

 

6.什么是DNS解析:域名解析

 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。ip是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

例如:为什么输入localhost和输入127.0.0.1 是一样的。www.baidu.com 为什么通过这个域名就能找到 百度的服务器,这个靠的就是域名解析,在本地机器上 有个hosts文件 该文件里面可以配置 域名 对应的ip地址,如果本地hosts文件没有 ,则会由电信运营商 帮助解析,这样可以不用 请求百度的时候,还需要输入ip地址 和端口,更容易被记住

当我在请求地址输入www.jiahou.com的时候 和输入 localhost的效果是一样 都会解析成ip127.0.0.1

7 简单了解了一下域名解析那么nginx是如何和域名解析相关联的

 这里要了解nginx的配置文件内容了:

https://www.cnblogs.com/920913cheng/p/10475864.html 

推荐阅读