在高并发情况nginx的作用
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
在高并发情况nginx的作用的更多相关文章
- Linux的虚拟内存管理-如何分配和释放内存,以提高服务器在高并发情况下的性能,从而降低了系统的负载
Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
笔记 5.高级篇幅之高并发情况下接口限流特技 简介:谷歌guava框架介绍,网关限流使用 1.nginx层限流 2.网关层限流 开始 mysql最大的连接数就是3千多.如果想把应用搞好 ...
- 关于WCF服务在高并发情况下报目标积极拒绝的异常处理
最近弄了个wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好好的活着.于是开始查原因. 一般来说目标积极拒绝(TCP 10061)的异常主要是 ...
- WCF服务在高并发情况下报目标积极拒绝的异常处理 z
http://www.cnblogs.com/kklldog/p/5037006.html wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好 ...
- Jackson高并发情况下,产生阻塞
情况:在高并发情况下,查看线程栈信息,有大量的线程BLOCKED. 从线程栈得知,线程栈中出现了阻塞,锁在了com.fasterxml.jackson.databind.ser.SerializerC ...
- 高并发情况下分布式全局ID
1.高并发情况下,生成分布式全局id策略2.利用全球唯一UUID生成订单号优缺点3.基于数据库自增或者序列生成订单号4.数据库集群如何考虑数据库自增唯一性5.基于Redis生成生成全局id策略6.Tw ...
- c# redis 利用锁(StackExchange.Redis LockTake)来保证数据在高并发情况下的正确性
之前有写过一篇介绍c#操作redis的文章 http://www.cnblogs.com/axel10/p/8459434.html ,这篇文章中的案例使用了StringIncrement来实现了高并 ...
- 突破10万高并发的nginx性能优化经验(含内核参数优化)
写的很好,推荐阅读. 转载:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并 ...
- 高并发情况下Linux系统及kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...
随机推荐
- html和jsp区别
html和jsp的区别及优缺点 ♥ HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言呢?因为,只 ...
- [sgu P155] Cartesian Tree
155. Cartesian Tree time limit per test: 0.25 sec. memory limit per test: 65536 KB input: standard i ...
- centos 安装composer
1 下载composer.phar curl -sS https://getcomposer.org/installer | php 2 设置全局调用 mv composer.phar /usr/lo ...
- centos6升级python
CentOS 6中,默认安装了Python 2.6.而pip,jupyter这样的常用工具是不支持Python 2.6的.为了使用这些工具,就必须将Python 2.6升级到Python 2.7以上的 ...
- JAVA 根据设置的概率生成随机数
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; i ...
- ubuntu1604使用之旅——软件源更新(vim安装)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup sudo gedit /etc/apt/sources.list # deb cd ...
- MFC VC++获取当前程序的运行路径
]; GetModuleFileName(, szDir, ); int i; i = lstrlen(szDir) - ; ) { if(szDir[i] == _T('\\')) { szDir[ ...
- 小程序仿QQ侧滑例子
缩放:wxml <!--page/one/index.wxml--> <view class="page"> <view class="pa ...
- Js/对数组的认识。
1.是对数组的声明: var auditTaskIds = []; 我一般的写法. var auditTaskIds1 = []; 2.向数组中添加元素: auditTaskIds.pu ...
- webpack配置文件--(loader)
这篇写的很详细 https://segmentfault.com/a/1190000012718374#articleHeader9 主要的配置项: test:必须 匹配需要处理的文件的扩展名 use ...