00:00
来,同学们,我们继续,终于我们U瑞卡也快给大家介绍完成,进入我们的最后一个章节,U瑞卡的自我保护机制,那这个呢,前期的时候大家在学cloud基础篇的时候呢,也或多或少了解过,而且我们在那个网页上也见过,是不是一大排的红字啊,那么什么是自我保护,它是个什么意思啊?到底有瑞卡为什么要这么设计呢?我们来探寻一下后面的原理。第一个故障现象,兄弟们看到这段话就说明进入了保护模式,Just To B safe emergency什么什么之类的吧,巴拉巴拉这大堆,兄弟们不废话,它的意思就是说,只要你存在网络分区场景下的一种保护,一旦你进入保护了。瑞卡server将会尝试保护其服务注册表中的信息,怎么着不再删除服务注册表中的信息,也就是不会注销任何微服务。好。
01:00
我们呢,前面的官样文章,官网上的翻译说完以后,那杨哥能不能用一句话给我讲明白什么意思啊?所谓的自我保护机制就是某时刻在有瑞卡里面注册的某一个微服务不能用了,有瑞卡不会立刻清理,依旧会对该微服务的信息进行保存。也就是说,就算你。暂时不可用了,但是我不会这么绝情,只要你不可用,顺手就把你给宰了,就把你从服务信息列表里面剔除,它是属于CP理论里面的AP分支。好,那么这个你不要管,回头我们讲到can的时候,我们这儿会讲三个注册中心的异同点的时候,咱们再来说,你现在就给我记着一个点,一句话,所以一个点就是有瑞卡,它的数据思想是分布式CP里面的API。然后。一句话就是某个时刻微服务不能用了,有维卡它不会立刻清理,依旧会对微服务的信息进行保存好。那什么意思呢?我们先说人话,再说理论来,前面讲过啊。
02:14
假设现在有维卡是鸿福科技园,这个是我们上硅谷学校,现在我们是不是教学服务的提供者,上硅谷这个学校入驻进了鸿福科技园,那假设啊,现在我们某一个入驻的企业,当时因为疫情没有办法及时的给鸿福科技。假设缴纳物业费吧,欠了他一天物业费,然后科技园里面的物业公司迅速就把这家企业。清空搬走不可能,那么暂时的话,是不是也会缓两天融一下,比方说等疫情过去了,等你一周以后你再补缴,不会这么绝情就把你给宣了。那么同学们,你你一一样,同学们,你们现在入学上硅谷,在上硅谷学习,总有一天有毕业的时候,你现在在上硅谷,你的学籍信息留存着,你现在假设从上硅谷毕业了,曾经上硅谷是你的第二母校,除了大学以外,那大家的学籍信息是不是我们也留着方便,我们是一家人呢?
03:17
那么它的理念也就是说,假设我们现在在有瑞卡上面某一个微服务,注册进来的某一个微服务,暂时因为某些网络故障,比方说卡顿延时,在一定的时间以内没有收到你的心跳。心跳反应。我。暂时认为你还是好好的,不立刻删除,等你慢慢恢复过来以后,咱们再接着用,它是一种高可用的设计思想,好,那它的导致原因,我们来看看为什么会产生这种自我保护机制啊。为了防止U卡client可以正常运行,但是与U卡server网络不通,Server不会立刻将U卡client服务剔除,讲过了,鸿福科技园的入驻企业暂时因为疫情,比方说没有缴纳物业费,因为现在人过不去,我们晚缴两三天,宏福科技园不会现在就去清场,让你搬家走人,可以商量着来,等疫情过去了,恢复正常了,咱们呢还是好哥们,好朋友。所以这样的话呢,我们得到。
04:25
默认情况下,如果server一定时间内没有接收到某个微服的心跳。我们将会注销,这个实例是情况,那比方说90秒,比方说你90天不缴纳物业费了,那科技园公司是不是应该把你请出去,这是应该的,你欠房东也不能说欠房租,欠三个月以上吧。但是呢,网络分区卡顿了,延时卡了,拥网络拥挤的时候暂时一定时间内无法正常通信,那么以上行为如果你就立刻把它注销了,这就变得危险了,因为其实微服本身是健康的,我们的8001802是健康的,只不过因为网络分区故障和拥堵暂时。
05:08
一定时间以内没有给你发送心跳。不能让你产生一种误判断说。他不来了,干掉,所以说此时我们为了高可用,请先不要注销正规服务。那么有瑞卡为了防止误删除,就开启自我保护机制来解决这个问题,当我们的有瑞卡server节点在短时间内啊丢失过多的客户时,但是并不是客户。它有问题,它其实本身是健康的,我们只是发生了网络分区故障,那么这个节点的话,有瑞卡自己就会进入保护模式啊,那么比如说我们这有个U卡client,会员服务啊,支付服务啊,订单服务啊,库存服务啊都可以,那么启动的时候,我们是不是把我们信息注册到U瑞卡上面,U瑞卡server这个这个相当于上硅谷,这个相当于鸿福科技园U瑞卡server,那么默认情况下,我们so client定时向瑞卡发送心跳包,翻译成人话是不是就是定时,比方说每个月向物业公司交纳物业费,那么你只要交续费了,那说明你这个是有效服务,但是如果在一定时间内没有收到他的。
06:20
心跳包,那便会直接从服务注册列表里面删掉该服务,那么这种情况下,一句话,欠费就断网,断水断电,但是呢,短时间以内我们丢失了大量的服务心跳。如果你直接弄掉了,有点太绝情,因为也得问问是吧,所以说这个时候有人看折中一下,我们呢,先不删除,我先开个自我保护,不会轻易的删除这个服务。因为这个现象可能是因为网络不通,我们呢出现了client的假死拥堵卡顿,如果过了一段时间以后又会收到了,那么这个时候我们是不是就有点儿杀错好人了,因为一会儿以后客户端还能够正常的发送心跳,只是网络延时了。但是你呢,把我。
07:09
注销了,那么这个呢,大家见面就有点尴尬,所以说有豫卡的意思呢,拿这种自我保护机制啊,就算我短期以内没有收到你的心跳,我并不认为你已经挂了,我允许你有一定的恢复,所以说在这个自我保护里面,有如卡斯瓦会保护服务注册中的信息,不再注销任何的实例,它的设计哲学就是宁可保留什么错误的服务信息也不会。盲目的注销任何什么可能健康的服务实力一句话,好死不如赖活着,好吧,那么再把它翻译,那么同学们都清楚,现在因为疫情是吧,咱们复工比较这个。麻烦我们暂时没有回到科技园,那么科技园发现,诶好久没来了,他不会说一楼大厅把那个入驻企业那个花名册给删了,所以说他不会盲目注销任何可能健康的服务实例,不会因为你暂时因为心跳发送不及时就把你剁了。
08:06
那么好死不如赖活着,所以说他的设计哲学就是宁可保留所有的微服务,那么也不要盲目的注销任何可能健康的微服务,那么使用自我保护就会让瑞卡集群更加的健壮和稳健,OK,那么所以说回到这儿,我们就一句话,某一时刻,某一个微服务不可用了,有的卡不会立刻清理,依旧会对。该服务信息进行保护,这是一种CP里面的AP的一种设计思想,接纳P分区容错性一定要保证,保证A高不可用,不会因为你暂时网络卡顿,可能健康的前提下就把你干掉好,那么这个就是我们的有卡的自我保护的。理论知识。
我来说两句