00:00
好,同学们。来,我们再进行一下我们的入一和getway的底层技术的模型。好,那么接下来。有zoo了,怎么又出来getaway呢?我们为什么选择那么要从商业再到技术上来说明。第一个。这个公司啊,啊,国外的爱奇艺。不太靠谱,一直跳票。来吧,入站维护way是spring cloud的。新儿子啊,听到。很多功能弱,都没有用起来。而且也比入更加简单和便捷。Getway是基于注意异步非阻塞模型,待会儿会说啊,性能方面你不用担心,虽然Netflix早就发布了最新的Z2你没出来呀,但是呢,Spring cloud呢,等他呢?你不能让我整个半成品去集,集成进cloud吧?而且spring cloud也有私心,基本上都是先借鉴别人优秀的理念,尝试着自己看看能不能传出来。那么。
01:10
Netflix。不上新了,Spring cloud又贼惦记着,所以说我们多方面考虑,先从业务上、商业上。Spring cloud getway作为我们一种理想的选择。第二个技术上我们来说一下什么非阻塞呀,这些什么东东,对比一下zoo它们之间的区别,这个是重点。第一个。我reactor。整合了。第二个,那么首先大家请看这个get cloud get会本身我就是spring cloud家族圈里面的自家兄弟,是不是整合起来更方便,系统的稳健性是不是加强,说白了品牌机很它的。稳定性肯定要高于组装机,那么第二个动态路由支持断眼和过滤器,你先不要管,先混个眼熟,好吧,杨哥先给你打麻醉针,后面动刀的时候你就接受起来,OK了,至少知道了get one有三个概念,一个叫路由,一个叫predictate,断言还记不记得我们的函数式编程讲过,然后我们的filter过滤器,这个我们肯定明白了吧?讲web的时候,王正国老师给大家讲过。
02:26
集成了这个巴拉巴拉这些都有,那么它跟这个的区别和我们后面的模型先承上启下的做一下分解。首先。它们两者的区别,如果你是F版,我们现在的cloud是不是HS21版了,是2020年二月份以后的版本非常新,H版大概是十个月以前。那个时候我们还是推荐用入的,但是呢,那个时候的入是入一,它天生就是一个基于什么阻塞IO的API,它的底层实际上是基于S2.5什么框架阻塞,那么弟兄们都明白,现在高并发。
03:08
高系统高流量的话,阻塞式IO是不是慢慢的被淘汰,现在要么就不玩,要玩是不是都是要玩的是什么。响应是异步的,非阻塞的框架,说穿了,你入一起步起身,起点就是个so2.0。阻塞,所以说他每次IO操作都会选择从工作线程当中选择一个执行,就像我们他们开的池里面,直到请线程被阻塞到工作线程当中完成。但是。这种思路呢,S啊。用C弱,用Java j vm本身第一次加载较慢,所以入一的性能有点差。那么入二。考虑到入意不OK。它升级它的理念基于net的非阻塞和常连接。但是spring cloud一方面。
04:05
入二出来的慢。另外一方面,Spring cloud也有点私心,偷或者叫抄作业。它的理念。自己后面又把自己的这些整上区理后spring cloud使用非阻塞API,又支持常连接web socket,所以说整出来了我们后面的spring cloud getaway,那么入R。理念上非常好,但是什么东西是吧,你出来的慢,市场上已经被占有了,你出来也没有意思啊,你看入R的理念被spring cloud抄了,自己出了个getway,他入二如果等他的话,按照他的话来讲的话,比入有很大的性能方面的提升,据说是入1.6倍,那么这个他们自己官网上的测试数据,但是没办法,天下武功,唯快不破,重要的还是先出来,先完成后完美,那么好,那么我们来看看入一的模型。首先如他们看的容器,传统的so塔IO,大家都学过一个上规古练手的web中期课程,就是学web的时候一个小项目。
05:09
一个灵魂问题,是不是的生命周期啊?初始化service。然后。Story,那么这个时候我们呢,理解那个时候我们讲的动不多,我们叫他看一般是从线程池中获取空闲的线程,那么每一个是都获一个,那么没问题吧。缺点就是上述so是一个简单的网络IO模型,当请求进到这个容器就会绑定一个线程。请求一请求二请求三线程绑定在并发不高的场景下,哪一个选一个,哪一个选一个无所谓,但是现在互联网都是高并发,比方说。抽风,我们杰米特压测干它个10万个线程过来,什么线程数直接飙涨,那么现成资源的代价昂贵,什么切换啊,还有生成啊,回收等等哈,严重的影响了一些业务,那么这个时候我们不希望为每个rest分配一个线程素,所以说在高并发这种情况下,S传统的2.0那种阻塞式的。
06:13
这样的。网络IO模型不具备优势啊,所以入一是基于之上的一个阻塞式处理模型,听懂了吗?那么我们的getway呢?这个就牛逼了,首先getway它有一个东西叫webx,那么兄弟们请看spring5.0以后的新特性,前面是不是讲过spring cloud getway,它是spring家族的整合进出它自己最新的支持。Reactor。和web flex,请看spring web flagx是一个非阻塞的web框架,听懂了吗?No blocking,那么是不是要比阻塞的叫牛逼,而且还异步?那么官网在这我们整明白这个spring webx了以后我们来露一眼传统的外部框架stru mvc都是so塔。
07:09
和他们K,我们其实上进行的,但是spring3.1之后出现了异步非阻塞的支持。说穿了,为什么spring。Cloud getaway,我们要学习就是要用异步非阻塞,说穿了,人家底层用的是webx加,比你的弱更牛逼,所以我们需要玩一下非典型非阻塞的异步架构,用3.1替换我们的spring。或者叫我们的serve2.5明白,那么非阻塞函数式编程,那么这一块的话,结合net的性能,我们的。高可用,用getaway更好,这个就是我们的getaway的模型好,那么同学们如果面试的时候问到你为什么要有网关,你的技术选型怎么来的,这些可以跟面试官说一下。
我来说两句