00:00
好,接下来呢,我们基于前面的这些压测数据,我们再来优化一下首页的全量数据获取,那我们之前分析首页全量数据的获取,主要呢,慢在它的静态资源,我们目前呢,是将所有的动态请求也好,还有这些静态资源也好,我们全放在我们微服务里边,那这样的话呢,我们获取首页的全量数据,我们发的这个首页请求,无论是我们查数据库的这个动态请求要交给我们微服务的他mca处理,还是我们要这些静态资源,每个页面呢,可能十几个静态资源我们都要交给我们这个tomca处理,那这样呢,光静态请求就占用了tomca的很多资源,这样我们就会导致我们吞吐量呢急剧下降,那我们想要优化这一块,也就是说把这个静态资源怎么能快速返回,那么就可以来做一个效果叫动静分离,那动静分离呢,最终就是这个样子,我们可以来结合NG,那我们以前是将所有的请求。
01:00
无论是动态请求也好,还是静态请求,那动态请求指的就是我们stemvc写了那些请求,映射的这些请求来启动一段程序处理的,那静态请求呢,指的就是要我们这些静态资源文件,比如GSCSS样式,图片,音频、视频等等这些我们是无论什么请求,我们全部呢都先交给我们N,再由N转交给我们整个网关,由网关呢交给我们后台服务的集群,那现在呢,当我们微服务收到了以后,假设这是我们的线程,微服务的他CAD里边有这么多的空闲线程,如果是以前所有动态请求,静态请求都交给他,那第一个请求首页拿过来,那就会占用很多资源。那我们再要一个首页,我们假设呢,现能就这么多,我们第一个首页占这么多,那第二个再要首页又占这么多,两个首页就占满了,所以它吞吐量每秒呢可能两三个左右,但如果我们现在这么来做,我们将动态资源和静态资源分离开,我们以前呢,是将所有的静态资源放在我们微服务的这个静态资源文件夹下,通过这个来返回,但如果我们把这个整个静态资源我们分离出来,我们放在哪呢?放在我们的NX这里边,那这样我们动态请求NX是会转交给我们网关,网关呢再交给我们微服务,这样呢,光我们这个商品微服务能接收动态请求,那就能每秒就有这么多的吞吐量,相当于四四十六个,而如果我们请求的是静态资源,由于静态资源呢,默认都是存在N里边的,所以呢,由N直接给我们返回,不用转交给我们后台服务,所以我们后台服务呢,就专心的只来处理。
02:48
给动态资源。那这样呢,就能提升我们很大的吞吐量,所以呢,我们现在想要做一件事,就是动静分离,那为了这个动静分离简单我们现在得做上两件事情,首先第一件事,将以后以后将我们所有项目的咱们这个静态资源都应该放在应该我们这个放在这个in里边,这是我们要做的第一个事情。第二个事情,那N怎么知道哪些请求要转给后台,哪些请求是自己里边的静态资源直接处理,所以呢,我们指定一个规则,那系统里边有一个规则,只要是static这个路径下的所有请求,所有请求那么都由NX直接返回静态资源,这就行了,好,我们都由我们这个叫ins直接返回,所以呢,我们希望engines通过路径映射,只要是static下的所有请求,那我们都直。
03:49
直接返回,所以我们现在来做两件事情,我们第一个我们先把静态资源搬家好,我们来到我们的这一块。来打开我们这个指定的位置,我们静态资源呢,是这个static下的index里边的东西,好,那我们现在呢,来连接上我们这个虚拟机,我这个虚拟机呢,已经连接上,我们用这个文件传输工具,就是它的这一块,我们之前呢一起装上的,然后呢,我们将静态资源放到NX这个文件夹下,那NX呢,所有的资源我们以前是放在这儿了,我们来看一下,给大家看一下那CD,那CD到NX里边,那么NX呢做了映射,我们映射到外边的马里边,In里边呢,我们说所有静态资源我们放在了HTMR里边,好,我们放在这LS在HTMR里边,我们以前做分词器的时候,那我们分词的这个ES路径在这,那接下来我们再来make DA,我创建一个专门叫static这个文件夹的路径LS看一下,好,这有一个这个文件夹,然后呢,我们将所有静态资源我们全放在这儿,CD到static里边,现在static里边没东西。接下来我们把。
04:58
这些我们当前项目的东西来上传上来,好,我们来到我们的MY卡NX来到这htm Mr static,好,我们将我们的静态资源我们来上传过来,我们把它呢直接拖过来,那我们现在这里边呢,Index里边这有很多的静态资源,当然这还没有传完,我们来等待它传输完成。
05:23
好,那么这一块上传完成以后呢,我们所有的静态资源就都上来了,那都上来以后呢,我们以后访问静态资源的路径,我们都得变成static下的所有东西,好,我们先把这个退出,然后呢,我们把我本项目里边的这些静态资源我删了,来给大家确认一下,好,本项目里边的这个index我来删掉,然后呢,我们需要来改页面,我们这个页面里边我们所有的这些静态资源请求,我们都加上我们的static路径,那么现在来看一下,那么现在呢,这些默认资源的请求路径我们来刷新一下。我们看一下这些资源,诶我们搬家了,但是这一块还有这是我们之前说的缓存效果,那么现在看,我们现在呢,是请求古励mail com下的,我们只是index image,那么接下来给所有的静态资源我们都加上static这个路径,所以我们来看一下我给所有的这些链接,我们来改一下control r,我们来替换,把所有的链接呢,我们来都替上,加了一个static路径,好,我们就叫杠static杠,杠就代表我们当前项目啊,我们这个当前服务器,我们加杠不加杠都行,因为我们这个首页就是以当前服务器为基准路径的啊,我们呢,就要求大家以后都加上杠,然后呢,我们加上一个杠static杠,那就相当于我们这一块就变成了这个路径,所有的静态资源呢,就会多来一个这个static,好,我们把这个所有的进行替换,Replace all来看所有的超链接呢,我们替换过来了,好加了static路径,接下来。
07:00
还有我们的所有的script s RC,好,我们把这个呢,CTRLR我们来替换一下,替换成什么呢?我们来也加上我们这个杠,Static杠。好,我们把这个呢也替换一下replace哦,好,那这些静态资源呢,也都替换好了,包括我们这还有图片的这个src,我们把这些image的SRCCTRLR我们也来替换一下。好,我们来到这儿呢,继续来替块,把我们所有图片呢,我们也来加上这一块,替换所有包括我们这一块,还有背景图片啊,我们来加上,我们能看到的呢,我们都给它改上,这是我们原来做的第一件事,给所有的路径,我们全加上了这个static这个路径,那这个路径呢,大家固径我们这一块static啊,漏了一个路径,好,我们都写上,那我们以后的要求呢,就都是这样,我们全部呢得加上们这个static这个路径,好把之前这一块错误的写法,我们来也给它转换过来。我们全部加上sta这个路径以后,好,我现在来重启一下我们这个项目,那我们现在在开发期间,我把这个缓存呢,都先关了,好我来写一个false,好来重启我们这个像。
08:12
那重启起来以后呢,我们接下来看我们现在的访问,那现在访问呢,肯定不行,因为我们还没配inx,那只给恩上传了我们这些静态资源文件夹。但是整个N的访问路径我们都还没配,我们先来看一下效果。好,我们来现在来把这一块来清空掉,我们来启动来刷新一下,我们这个商城,在刷新的时候呢,我们打开F12,把它的这个缓存都清掉,刷新一下。好,我们现在看到所有的静态资源呢,都没法访问了,页面效果没出来,我们来点进任意一个静态资源,都是鼓励mail旗下我们有一个static这个路径,所以呢,这个路径就应该让N自己去来找,那N呢,就应该在它的这个静态资源里边,按照这个路径找到它的整个完整路径。
09:03
所以我们来修改一下in的配置,好,我们直接CD到我们in的这个配置文件里边,My data in有一个com ls,这是inex的总配置,我们每一个so的配置,我们说都在这个conf菲个D里边,它分割开了,好我们来进来我们古丽麦的配置呢,在这来看古mail这个配置之前,来看一下我们整个default的这个配置,Default呢,因为我们之前用过default配置location开声杠,也就说local访问所有请求,这个root指的就是这些请求都去哪个资源文件夹下进行匹配,而我们之前呢,正好利用这个杠做了我们ES的中文分词器。我们这个给大家访问一下我们之前的这个中文分词,那1921685610,这是NG,那中文分词的路径呢,是ES分词test,好,这是我们以前的分词,这个分词呢,它可以直接到我们来复制一份给大家看一下,看一下我们的这个访问路径,CD到我们的NX里边,My data inx,我们这个分词呢,它是直接到HTML里边,我们ES分词的路径就会按照ES整个文件夹的这个路径来找,所以呢,我们后来要配置也是这个多添一个root,就是呢,这些路径都去哪一块来找,好,我把这一块呢复制过来,我把这一行呢加上。
10:30
好,复制来,我这个呢,没复制上封号,我们改的时候再给它复制上,好,然后呢,我们来修改这个配置文件,LS们来修改我们古励,我们写一个VI鼓励mail conflict好,进来我们输入I进入我们的插入模式,插入模式呢,这有一个location杠,所有请求呢,都转给我们的古励mail,那在它之前,好在它之前呢,得有一个我们的这个static配置,我们写一个location杠,Static也如我们static下的所有请求,然后呢,都去哪一块来找我们来给大家把那个呢复制过来了,来粘贴上走,那root相当于都失去这个目录下找,因为我们整个路径呢是完整的,那这块路径叫static,我们还有一个static文件夹,接下来有什么就在文件夹下,按照层级目录我们都写了什么?那除了static下边的外,剩下的呢?转给我们古mail。
11:28
我们这个网关的整个集群,而且是负载均衡的方式,好把这个修改完以后,我们来WQ保存并退出,然后呢,我们来重启一下restart们叫in。那重启成功以后,我们先来刀ERPS,我们来看一下N有没有启动好,N启动也成功了,也没有任何报错,那就没问题了,然后呢,接下来我们再来访问一下,那我们之前访问呢,由于这些静态资源没配,所以没访问上,现在我们配好以后来重新刷新,诶我们发现呢,现在静态资源全部由返回了。
12:06
这些图片什么呢?有返回,按照sta路径,只不过这有一个GS文件,发现这个我们这个页面没改完,所以好多GS文件没有返回,那好,那接下来把这个页面呢,重新给我们重新改上,那在最后边对于GS的引用好这一块呢,有好多我们把所有的s RC inex我们都改一下,CTRLR。我们都把它呢改上,我们来加上一个我们的这个static路径,好,我们写一个replace or好现在都改完以后呢,CTRLF9由我们这个模板引擎改一下我们CTRLF9就行了,然后我们再来刷新,刷新好现在首页返回我们所有的GS也都返回了,只剩下一个叫GS index,那这个路径呢是对的,那这一块是GS跟index这两个路径没分开,哎,那就是之前这块写的有问题,好,CTRLF9。
13:00
好,我们写好以后呢,我们再来刷新,保证我们所有的资源都能请求到,好现在都请求到了,那偶尔几个图片实在没有我们就不管了,那现在呢,我们这个首页的静态资源部都是由N返回,但首页的这些数据全部都是由我们tomcat返回,这个呢就是我们N的动静分离配置。
我来说两句