00:01
好,下面我们来看一下啊,这个博是怎么样注册到name server的。Name server啊,通常也是以集群的方式部署的啊,我们生产环境下肯定都是集群啊,高可用的,不过name server是无状态的,什么叫无状态的呢?即name server集群中的各个节点间是无差异的。各个节点相互不进行信息通讯。不进行信息通讯。所以这时候就会有一个新的问题啊,这各个节点里边数据是如何进行同步的,这就是个问题,大家大家看啊,是这样的,可能有哥们还没有理解什么意思啊,比如说啊,这是我们的name server集群。我这里边有这样的啊,几个name server啊,这我们的name server集群啊,然后呢,这是我们的。是吧,这是broke。那么我broke注册啊,我注册到他。
01:04
注册他以后。那那那这些,那它里边假设这里边有个注册表是吧,它其实有个有个路由表啊,路由表里边有他的信息了,那么。这些里边的信息从哪来?通常情况下啊,我们注册中心都是什么,他们之间会进行什么数据的同步。你注意他们之间啊,这些服务器之间有信息的同步。对不对,但是这样说了,他们各节点之间相互不进行通信,所以这就有个问题,这个问题出现了。这这这数据,它里边的数据从哪来呢。对不对,来继续看啊,在博节点启动时。会轮询啊。会name server列表,因为你broke里边它会把所有的name server。
02:02
把地址啊全部写到配置文件里边,启动的时候它会列。然后与每个name server节点建立连接,然后发起注册请求。在serve内部维护着一个列表啊,用来动态存储ER的信息,那那这什么意思啊,就这样一个意思,就刚才还有我们刚才画这个啊,啊,我这是啊name server列表是吧,然后呢,这是我的brokeer brokeer。在启动的时候。那他会给他。给他。给他会便利啊,他说的这个列表,给这里边每一个name server建立一个长链接,然后发起注册。我同时都注册到他们里面。明白吧,他是这样的,他们之间没有数据。通讯,所以这是和我们通常说的那个,像我们说的啊这个呀,啊这些集群。
03:07
是不一样的,这些人之间是什么?他们之间只要让一个客户端,呃,注册到某一个。啊,这这个server就可以了,剩下的工作就是他们自己内部进行啊,进行一个数据同步啊,无论是AP也好,这个CP也罢,反正是内部之间进行了一个同步,但现在这个是不一样,他要和他们每一个连接以后进行组存。这是很大的不同啊,这是很大的不同,所以呃。写上一句吧。注意啊,这是与呃与其他呃与其他呃像谁呀,JK啊这个。有。那。Knuckles。
04:00
啊。注册。是。不同的。啊,这是我们需要注意的,那么。他的这种注册方式啊。我们来分析一下它有什么。什么优秀点?呃,这种,呃。Name server的无无状态啊,呃,怎么说呢,无状态。方式吧,嗯。有什么?有。有什么优缺点?我们想一下有什么要求。优点是什么优点,你这个name集群是不是好搭建?怎么搭建,你随便起就行了,你起一个。就出来一个七个出来一个是吧,所以有点啊。
05:03
A name。Seven。集群,呃。搭建。简单。是吧?啊,你增加你就你就启动就行了。缺点是什么?缺点其实还是蛮多的。去年。就是我们的broke是不是必须要指定所有的name?大家想想,我我刚才这样这四个,我这个broker如果不指定,我就指定了三个。那他会给第四个注册吗?不会。这一缺点。啊是是我们必须要指定,有有哥们说那指定指定呗,那有啥。但是你想过这个问题没有,你这个集群搭建很简单是吧,你要扩容,你说我增加一个name server怎么办?简单呢,启动一个name server就行了吗?你启动一个管用吗?
06:01
你的博客如果没有修改配置文件。那不一定非得重启啊,因为我们如果用的动态配置是吧,不用重启broke不用重启,但是如果你你broke啊,没有修改配置文件,没有指定你新增加的就这个。再画个图啊,二三四十不是原来四个嘛,是吧,原来四个啊我的这个。我的这个ER啊,必须要指定啊,我这四个地址我都指定了啊,所以我就E啊EEE启动的时候都给他们注册了,这没问题是吧,现在我扩容了。我新增加一个,给他新增加了一个。新增加这个,大家想想,你这个里边如果配置文件不修改,他就不知道它的存在。他怎么能给他注册呢。对不对。所以看似这个优点啊,扩容简单,实际上。
07:02
也并不简单,你需要修改这个配置。对点。是吧,必须。明确。明确指出。所有,呃,所有这个。Name。Names so。是吧,地址吧。呃,否则。未指出的,呃,不会。去。不错。对吧。另外呢,也正因为呃,如。也正因为如此吧,如此啊,这个name。So。并不能。随便。扩容其实主要是扩容啊,缩容倒没事儿。
08:03
缩容倒没事啊,你直接关就行了啊,你大不了我我不注册呗,是吧,我即使这边有我不注册,主要就是扩容。我写上扩容简单,嗯扩容简单啊,那么说并不能随便扩容。啊,为什么啊,因为这个这个叫呃,如果啊把rocker,呃不。重新呃配置那么。新增新增的。So。等于。Broker来说。是不可。是不可见的。是吧,其不会像其像呃,其不会像呃这个。
09:04
Name so。进行注册对不对啊,这是它的优点缺点啊,我们就就给他分析出来了,对吧。然后再看啊,他说啊,博克节点啊,为了证明自己是活着的啊,为了呃维护name serve的这个这个强连接啊,他们之间是强连接,那么会将最新的信息以什么心跳包啊,叫做心跳包。以心跳包。的方式上报给name。每30秒发送一次信跳,信跳包里边有什么?有ER啊,ID啊ERID,然后有ER的地址,这个地址就是。IP。加。端口对吧,然后ER的名称啊,ER它属于哪个集群,集群的名称等等吧。
10:02
然后在接收到心跳包以后呢,会更新啊心跳时间戳。然后进入这个brokeer,最最新存活时间,为什么,因为这个时间啊,我们一会说这个,呃,路由剔除的时候,它它和这个什么,呃,心跳时间戳是有关系的。这是我们说这个路由注册啊。
我来说两句