00:00
啊,接下来讲一下4.4监听服务器节点动态上下线这么一个案例啊。需求是这样的,某分布式系统中主节点可以有多台啊,可以动态上线。任意一台客户端都能实时感知到主节点服务器的动态上线。服务台吗?啊,你这里面每个有有N多台服务器,这是说啊,然后下面呢,是客户端访问这些服务器,那只要任何一台服务器下线这个客户端知道。就实现这么一个功能,你下线了就不罚你了啊,有值的变化了吗?是吧。这个规则比较清楚。那我们来看一下啊,技术分析。首先需求是客户端能实时洞察到服务器上下线的变化。任何风吹草动啊,立刻客户端知道。上面叫服务器一,服务器二服务器三啊,你可以认为是这个三维五的三台服务器,那下面呢,这些呢,就是啊,你们的电脑啊,要访问这个服务器。
01:08
那下面这个是主皮波集群。那我现在。啊,有一个问题要抛出来。相对于这个主题波集群来说,它是什么?他又是什么?一定要理解这个概念啊,相对于主K班集群来说,你这是不是都是客户端。能不能理解这个案件?必须理解,否则这个案例你就没法做了。你是不是这个服务器说是,呃,服务器那是对谁来说是吧,对这个客户端来说是他的服务器,这没有任何毛病,但对于我们这个案例当中主机边集群来说,那你就是一个客户端,只不过你这个客户端是要往我这个主机边集群上写数据。这个客户端呢,是监听这个路径上数据的变化。
02:03
所以说他俩都是客户端。你这不是说是服务器,你是不是还是像这个主K机上写数据啊,哎,操作这个主机群上,哎把你的信息都写入到这个路径上。那么详细看一下啊,看看这几台服务器,像这个目录上写什么内容了,首先呢,有一个根目录。啊,下面有个serve是我的服务器节点,然后再往下,哎,比如说服务器一传的就是SERVE1。一开毒不降料,后面是80个note,比如说目前呢,有80个访问量。这不难理解吧?80个访问的中端。那好,这是伏羲二。他写到了这。啊,写到这,那这里面呢,是90个。放量。啊,就是个。
03:01
那再往后这是服务器三啊,服三也是写到另一个节点上,它是95个访问量啊,这个访问量呢,我们可以先不管。至少只要这个服务器一上线,我就会在这个目录下创建它对应服务器的信息。这个101表示什么意思呢?是你这个节点的数据哈,包括后面这个节点都是它的数据啊。存的数据,你说so活一里面存的是还幺零幺八十个节点,So活二里面存的是海德幺零二九十个节点,SOQ3呢是海德1039。那这时候好。你这边儿是另一个客户端。它是启动get啊,获取当前在线服务列表,并且注册监听。它获取什么呢?它获取这个目录下有几个节点。
04:03
那他就能拿到这些所有的数据。啊,一看一遍利拿到三个,拿到三个节点,它还可以根据这个具体的路径得到这个路径上。数据的值。也是没有问题的,可以盖这个。鉴定。那么这个时候,服务器不幸宕机了。宕机了呢,那这条数据呢,就挂掉了。他一宕机他就挂掉,这是什么节点?是短暂节点啊啊,一定是短暂这节点啊,OK。那他一挂机啊,那就是服务器上下线事件通知他挂了,他要告诉这个注射监听的人。那么他就采取相应的措施。好,稍微回顾一下。这么几个角色。这是主班集群。
05:02
那相对于主备集群来说,右侧这六个都是客户端啊。只不过呢,上面这一类客户端呢,是服务器的。投的,他要向这个继续这样写出去。下面这个客户端呢,是要监听它写上写在这个主页本基上的数据的变化。那上面这个,哎。他正好有数据的变化。这条下下线了。那这边呢,就能监测到。就能够监测到,监测到之后那可以做其他很多很多事情。啊,那至少我就不会,就不用再去访问你了,直接访问这啊。这是动态上下线的一个分析。
我来说两句