Web服务器应用以及调优
Web服务器应用以及调优
ckw@ldy
一如既往的坚持
展开
-
Session共享问题
Session共享及Session保持或者叫做Session⼀致性 一、Session问题原因分析 出现这个问题的原因,从根本上来说是因为Http协议是⽆状态的协议。客户端和服务端在某次会话中产⽣的数据不会被保留下来,所以第⼆次请求服务端⽆法认识到你曾经来过, Http为什么要设计为⽆状态协议?早期都是静态⻚⾯⽆所谓有⽆状态,后来有动态的内容更丰富,就需要有状态,出现了两种⽤于保持Http状态的技术,那就是Cookie和Session。⽽出现上述不停让登录的问题,分析如下图 场景: nginx默认轮询策略原创 2020-07-29 16:30:22 · 290 阅读 · 0 评论 -
一致性Hash算法
一、为什么使用Hash算法? Hash算法较多的应⽤在数据存储和数据查找,最经典的就是Hash表,它的查询效率⾮常之⾼,其中的哈希算法如果设计的⽐较好的话,那么Hash表的数据查询时间复杂度可以接近于O(1)。 案例:提供⼀组数据 1,5,7,6,3,4,8,对这组数据进⾏存储,然后随便给定⼀个数n,请你判断n是否存在于刚才的数据集中? list:List[1,5,7,6,3,4,8] // 通过循环判断来实现 for(int element: list) { if(element == n) { 如果相等原创 2020-07-28 15:34:06 · 132 阅读 · 0 评论 -
分布式ID解决⽅案
一、为什么需要分布式ID(分布式集群环境下的全局唯⼀ID)? 二、解决方案 UUID(可以⽤) UUID 是指Universally Unique Identifier,翻译为中⽂是通⽤唯⼀识别码 产⽣重复 UUID 并造成错误的情况⾮常低,是故⼤可不必考虑此问题。 Java中得到⼀个UUID,可以使⽤java.util包提供的⽅法@org.junit.Test public void createUUID(){ System.out.println(UUID.randomUUID().toS原创 2020-07-29 09:29:48 · 117 阅读 · 0 评论 -
集群时钟同步问题
一、 时钟不同步导致的问题 时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题,试想 “集群是各个服务器⼀起团队化作战,⼤家⼯作都不在⼀个点上,岂不乱了套! ” 举⼀个例⼦,电商⽹站业务中,新增⼀条订单,那么势必会在订单表中增加了⼀条记录,该条记录中应该会有“下单时间”这样的字段,往往我们会在程序中获取当前系统时间插⼊到数据库或者直接从数据库服务器获取时间。那我们的订单⼦系统是集群化部署,或者我们的数据库也是分库分表的集群化部署,然⽽他们的系统时钟缺不⼀致,⽐如有⼀台服务器的时间是昨天,原创 2020-07-28 16:13:40 · 183 阅读 · 0 评论 -
Tomcat使用及原理剖析
一、Tomcat 系统架构与原理剖析 b/s(浏览器/服务器模式)浏览器是客户端(发送http请求)———>服务器端 1、浏览器访问服务器的流程 http请求的处理过程 注意: 浏览器访问服务器使⽤的是Http协议,Http是应⽤层协议,⽤于定义数据通信的格式,具体的数据传输使⽤的是TCP/IP协议 2、Tomcat系统总体架构 2.1 Tomcat请求处理大致过程 Tomcat是⼀个Http服务器(能够接收并且处理http请求,所以tomcat是⼀个http服务器) 我们使⽤浏览器向某⼀个原创 2020-07-30 10:33:16 · 329 阅读 · 0 评论 -
Nginx原理深入剖析
一、Nginx基础定义 1、Nginx 到底是什么? Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强 2、Nginx 能做什么?(应用场景) Http服务器(Web服务器) 性能⾮常⾼,⾮常注重效率,能够经受⾼负载的考验。 ⽀持50000个并发连接数,不仅如此,CPU和内存的占⽤也⾮常的低,10000个没有活动的连接才占⽤2.5M的内存。 反向代理服务器 正向代理 在浏览器中配置代理服务器的相关信息,通过代理服务器访问⽬标⽹站,代理服务器收到⽬标⽹站的响应之原创 2020-07-29 20:21:17 · 279 阅读 · 0 评论 -
分布式调度问题
调度—>定时任务,分布式调度—>在分布式集群环境下定时任务这件事 Elastic-job(当当⽹开源的分布式调度框架) 一、定时任务的场景 定时任务形式:每隔⼀定时间/特定某⼀时刻执⾏ 例如: 订单审核、出库 订单超时⾃动取消、⽀付退款 礼券同步、⽣成、发放作业 物流信息推送、抓取作业、退换货处理作业 数据积压监控、⽇志监控、服务可⽤性探测作业 定时备份数据 ⾦融系统每天的定时结算 数据归档、清理作业 报表、离线数据分析作业 二、什么是分布式调度 运⾏在分布式集群环境下的调度任务(同⼀个定原创 2020-07-29 16:00:09 · 522 阅读 · 0 评论