00:00
好,接下来呢,我们来看一下主K对应的源码分析。那么是不是所有人都可以来学这个主Q源码呢?啊,一般是这样的一个建议哈,如果说你是一个刚入行大数据的一个小白,那这时候就不建议大家去看这个对应源码了。哎,你只要把前面的基础的主相关的一些呃介绍搞定就OK,那么这个主K的源码分析是为这种在企业里面已经工作过多年,还想在大数据领域里面进一步的一个发展提高,那这时候大家可以重点关注一下对应的这个课程就OK了。啊,所以说这块要注意一下啊啊,那本次这个源码分析里面,咱们主教讲的内容呢啊,包括这么两大块啊,第一块呢,是一些基本算法的一些介绍啊,什么啊啊ZB啊,以及原则啊等等这些相关的理论内容。然后第二章开始就会给大家介绍在主K当中一些核心的代码。
01:00
它的工作原理是什么样的,然后呢,通过代码的方式一点点给大家去讲解。啊,这是两大块儿哈,那首先我们来看一下这个第一块,第一章算法的一个基础。那思考一个问题,说主keepper是如何保证数据一致性的?有没有同学思考过说主K班有一次性问题?那举个例子吧。比如说我们有五台服务器。那五台服务器里面都保存着一份一模一样的数据,是这样吗?那他怎么保证数据的一模一样?大家有没有考虑过,比如说这是leader,其他节点都是follow。那么如果这是一个客户端,他访问的是这个follow。那么这个啊,它其实已经跟这个其他节点已经断开连接了,他还不知道呢。哎,比如说其他节点的事物节点已经到了九,那它的事物节点已经是六。哎,你说是外地。对吧,操作了六步,他操作了九步。
02:01
那他获取数据,这个客户端盖的数据是不是能够获取到数据啊,那我获取的是不是历史的旧的数据。这边是不是新的数据。这是不是就是数据的不一致性问题?是吧,哎,其实呢,分布式系统都有类似的这种情况。那怎么解决呢?来,我们先往下看啊,再来看一下,哎。呃,古代一个拜占庭将军,他的一个问题思考,这是一个非常经典的问题啊,在分布式这种嗯框架当中。都要思考这个问题。说呀,拜占庭将军呢?是一个协议问题,拜占庭帝国将军,将军们必须全体一致决定是否攻击某一支敌军。然后只所有的将军都达成一致之后,我才会去攻击某一支军队。那问题是,这些将军呢?在地理位置上是分隔开的。什么意思呢?这样的情况。这么多将军,各种武器。他不在同一个。
03:01
地理位置。对吧,这可能是在北美,这在南美啊,这在这个非洲啊,这在亚洲都有可能吧,并且将军中存在着一些叛徒。哎,有可能是有一些叛徒,他可能会捣毁啊,那叛徒可以任意的行动,以达到以下目标,什么目标呢?欺骗某些将军采取进攻行动。促成一个不是所有将军都同意的。决定。如将军们不希望进攻时。让他进攻了,对吧?啊,或者呢,迷惑某位将军,使他们无法做出判断。啊,如果叛徒达到其中任何一个目的,则攻击的结果注定是失败的。很显然的,你想我们希望的是立体式的大家一同攻击。那么万一这里面有叛徒迷惑了他,比如说迷惑了他。让他们。错了一小时,比如说他们你提前攻击了对不对,但是我晚了一小时你才发起攻击。
04:00
黄瓜菜都凉了是吧,那一般是不是得先炮火先准备啊,啊,然后之后呢,然后这个坦克兵是吧?啊,这个步兵才往上是这样一个流程。啊,这就是其实就是多台服务器。来处理某一个问题的一致性问题,能不能让这些将军们达成一致?对吧。这是一个我们值得思考的问题,那怎么来解决呢?那下面我们来看对应的开餐算法。
我来说两句