00:00
好,那么同学们。刚才呢,我们呢,终于呢,完成了我们的优瑞卡的集群配置,那么这个时候呢,来吧,同学们。12343个集群一个。为服务提供者。当然后面呢,我会更。变态的呢?现在是不是70170027003啊。接下来我们会有8001 8002 80033个有瑞卡集群,三个微服注册进来。那么这个时候呢,我们现在一步步看哈,当然即便到这时候,是不是consumer也得提起来,少数就八个为辅,再连上后面的可能会十多个,那么这我们现在有四个了,你大家猜猜内存耗费量已经到多少了?来四百三百三百四百,那么这四个平均算下来,一个微服务少说是不是接近平均下来400。
01:01
找的内存是一个微服务啊,那么这个时候大家现在还能不能理解什么叫一个微服务,就是一个独立的进程这句话。好,来。杨哥的本子是16G内存。那么所以说现在大家可以看怎么着,七个G几乎用到我45%的内存,好那么这样呢,为了讲课方便,那么我先暂时关闭一下哈。能不能你别忘了,现在如果到我们后面的话,呃,那些东西的话,咱们还会干一些什么事情,最简单的,如果你现在这个内存,我再给你开个虚拟机呢。对不对,那你的那科呢?OK,会那位同学说的不错,直接就报了,好,那么接下来。这个事儿不是还没讲呢。那么来吧,我们呢来说一下let black设计瑞遵守的AP原则,以及作为服务注册中心有瑞卡组keepper好在哪?那么呢,这个时候就要带着大家,那么呢,最后一次,因为这道题目问题也比较多哈,所以说我还是想最后一次说一下我们的CAC。
02:11
那么呢,大家都知道在我们的传统的关型数据库里面,那么什么意思啊,是不是就是我们的sqle server。我们呢,有一个最重要的理念就是ACD啊。那这个时候呢,我们的数据库,或者叫一个分布式系统吧,那么呢,这些什么东西呢,就是我们的red啊,Man TP这些呢,大家呢,都已经使用过,学过,不多说了,它与之对抗的理论呢,那么就是我们的C,那么简单一句话。人无果,人家来问你和U他们两个。区别在哪儿?
03:02
第一个答题关键点必须给我说出,有瑞卡遵守AP keepper遵守CP。那么接下来我们要看看什么是CP,那么能带着大家呢?再复习一下,那杨哥给大家讲的RA的时候是不是说过分布式数据库上面的JP和被。那么好,简单一句话,什么是C呢?用什么是AC呢?那么呢,因为大家呢,马上也要毕业去找工作了,基础知识啊特别重要,那么给大家呢。分钟复习一下,要求大家在纸上写一遍,传统的关系数据库是acid,那么呢?分别是什么?我们的no SQL数据库是CP,分别是什么?那么要求大家在直杀。动动手,写一下这些东西。
04:03
好,那么同学们那么呢,切记哈,尤其a cid这个是填空题,面试题,还有这个选择题都考过,至于它是什么东道,那么你也给大家呢说过了,什么是原子一致啊,比方说经常问你的什么是数据库的事物,我们呢,复习过很多遍了,数据库的隔离级别,什么是单读换读,不可重读等等么?这些细节,这些经典的考题,基础知识的,那么请大家呢一定认真向去复习,杨哥呢在这就不再多说了,那么接下来说我们相关的,那么言下之意,什么是CP?强一致。高可用和分区容错性即为CP。那么这个时候。我们呢,要知道在一个分布式系统里面有句话叫CP的三进二。啥意思呢?就是任何一个分布式的系统没有办法同时满足。
05:02
强一致,高可用和分区容错性,只能三个里面进两个,我们来看,这个时候请大家看。官网的介绍C强一致,A高可用。P分区容错性,那么呢,我们的mango TP。H base red这一类类一系列的产品属于什么系列,CP系列,那么呢,我们的传统的关系数据库就是Oracle MySQL,微软的s server是属于C序列,那么呢,我们这些产品是属于AP序列,那啥意思啊,这就是我们说过的。任何一个分布式系统,按照现在的理论要求,只能同时较好的满足几个,两个能不能?而且更加郁闷的是。
06:03
由于现在都是分布式的,那么我在给大家讲zoo keeper分布式节点的时候也说过,现在分布式的话呢?它的部署不可能是一台机器。所以说capp当中的P。是绝对要被占有的。那么换句话说,就说你在构建。你的业务和网站操作和产品的时候,对于分布式的系统和结构只能选CP和AP2挑一。那么这个时候我们就来看看。我们呢?由于当前的网络硬件肯定会出现延迟丢包,因为硬件机房,比方说你这个机房一部分在北京昌平,一部分在上海浦东,那么这个时候干嘛呢?我们这些网络延迟,网络闪断,那么导致我们的分区容错性P。
07:04
是我们必须要实现的。那么这个时候,言下之意,我们只能在一致性和可用性之间权衡,没有no q系统能同时满足这三点。那么接下来我要考考大家。假设。双11或者是京东618,那么呢,根据我们的CP原则,G是固定的,那么在C和A之间灯会。本课淘宝网站。双十一三天,你觉得你来选择的话,你是选。AP还是选CP,这个时候选一致性还是可用性,那么呢,这个请大家做一下简单的思考。
08:14
好,那么呢,刚才呢,同学们也讨论了呢,异常的激烈,那么呢,反正嘛。总有一半的一面,那么也举手看了一下,那么呢,如果针对于京东双11这样的网站,请大家记住,我们只能保证。AP。不能选择CP,理由如下,好,同学们请看哈。我们的对象是整个网站哈,不是一个具体的某一款产品,那么这个时候如果你作为网站的总技术经理,架构师,我们来看,我们来思考这么一个问题。第一个。CP,首先我们说过,P是绝对。
09:03
固定要被拿走的,因为都是分布式的环境分区,容错性必须保证。那么APACPA和C咋选呢?我们假设先选CC叫强一致,那么根据双11的网站,我们大家都有这种感觉,我点进去了以后,肯定上面会有一种东西叫什么,多少人点赞。多少人点秤什么意思啊,点赞的就是有多少人喜欢这个产品,假设当天是一瓶红酒或者一件毛衣,有136433个人欢和147522个人喜欢,回答我这个数据是不是很重要啊?再来第二点,大数据的兄弟也需要根据当天晚上干嘛所有顾客的浏览数,那比方说这个网页他的PV page view被人看过6万次,某个网页只被人看过3000次啊,那么这个时候跟我讲,是不是代表了客户对某一种产品,对某一个网页的访问喜爱啊,那么大家告诉我这个重不重要,很重要,那么换句话说,甚制是什么?
10:13
他会给你猜,你喜欢这种功能有多少人。点过这件毛衣,点过这双耐克运动鞋,它是不是都给你记录啊,所以说这个强一致是重要。但是你别忘了。如果我们现在不保证A,我们只管C,啥意思啊,也就是说这一瞬间你跟我讲有多少人喜欢这件毛衣,是134633,还是115222回,我这个数字对你重不重要,对客户而言,他不关心,他关心的是双11当天整个网站能不能用,你试想一下,我们就算数据对了。
11:01
但是A丢了,双11当天的话,整个网站不能访问了,那不用讲。瞬间马上假设淘宝的网站不能访问双11当天,那么我们这个广大人民群众购物不嗨了,不爽了,那是不是一定会出现一种东西叫帮他上头条啊,那明天的话怎么着,大新闻是不是刷淘宝双11当天网站瘫痪,我相信这个灾难恐怕是谁都承受不起的,所以说我们所选择的套路是什么?当天晚上整个网站只能选A,保证整个网站不能贪,大家觉得同一房,所谓两害相衡取其轻,同一否,那么但过了双11这个高峰,那么我们再一点点核对数据,把这个数据这个C。一致性到底有多少人点赞,多少人点称,咱们再把这个数据统计出来,所以说这个时候高可用AP是不是比CP重要啊?
12:03
那么呢,结合我们的red的理论,我们回到我们的U瑞卡来看看两者的相比。第一个请大家看来。作为服务中心,U瑞卡比如keep好在什么地方?CP不读了。记第一个结论,Zoo keepper保证CP有瑞卡保证什么A,为什么呢?我们在杨哥在给大家讲keepper的时候讲过一个东西是集群以及有是吗?呃,讲过zoo keepper的集群和zoo keepper的选举,那么这个时候。Keepper他呢,玩的是CP,那么呢?它呢,有一个小小的问题,就是当master节点因为网络故障和其他节点失去联系的时候,剩余的节点会重新进行leader选举,这个是不是有点类似于我们的RA里面的一主二层的哨兵模式啊?
13:05
但是呢,问题是在于leader的时间太长了,有可能30到一两分钟这个期间,选举期间整个卢克贝尔集群是不可用的。就是说他达不到高可用,你可以想想,我们那么多double服务注册进组keep上面,偶尔某个组keep挂了,我们要重新选老大,而这个时候别人是在反问着你呢,那么呢,这种情况下将会导致选举这些注册服务瘫痪。那么这个时候你倒是确确实实是强一致了,数字是对了,但是你高可用A这边是不是丢了。那么所以说呢,将会使得ZK集群失去master节点的较大概率发生的话,虽然服务最终是可以选出来,比方说折中50秒搞定了,但是这50秒注册长期不可用50秒,大家想想五秒钟是不是会出事啊,别说50秒,那么这个时候想想我们的有瑞卡吸取了卢克的教训,他是不是有种东西叫自我保护啊,你就是淡机了不是也不会给你们除名,那么所以说。
14:13
有瑞卡吸取组keep的CP,他自己换成了AP,那么干嘛呢?它各个节点平等。他没有什么主,从几个节点挂掉,它不会影响正常节点的工作,剩余的节点依然可以提供注册和查询,除非有瑞卡死绝。那么这个时候有瑞卡的客户端在向某个有卡注册的时候,如果连接失败,切换至到其他节点,只要有一台有卡还在没死绝就能保证服务可用,那们跟我讲这个A是不是它牢牢的抓在手里面了?当然有卡死绝了,那咱们另说啊,只不过查到的信息可能不是最新的,因为我是不是丢了这个C啊,大家可以看,刚才我改了一个服务名。
15:00
8001和801叉叉叉,有可能那个叉叉叉是不是加了新内容的,但是我保证你还是能用到,可能不是最新版的,这个是不是高可用A的一种保护措施啊,那么呢,除此之外有瑞卡,还有我们看到看大片红版本的是不是自我保护机制啊,好死不如赖活,那么这个时候干嘛呢?我们呢。有这三种情况。看好一。有瑞卡不再从列表中移除因为长时间没收到心跳而应该过期的服务,那么呢?这种判断就是认为客户端与注册中心出现了网络问题。第二个。虽然说能够接受新服务的注册和查询,但暂时不会被同步到其他节点,即只是保证当前节点可用。第三个网络稳定的时候,新加入的新注册服务才会被同步到其他节点,那你跟我讲这样它是不是保证了服务的高可用性,那么呢,所以说结论。
16:04
有瑞卡很好的应对因为网络故障导致部分节点失去联系的情况,而不会像per那样是整个注册服务瘫痪,这个太要命了,所以说干嘛呢?Spring家族在整cloud的时候也是参考了double的一些失败案例,所以说呢,切记lukeper是CPU卡是AP,这是答题的关键,请同学们务必要把这道题复习下,因为这两个都是。主抓服务注册,那么这两个的利弊和比较,以及对他们的认识的讲解,那么这请同学们认真复习明白,OK。
我来说两句