协调-协调架构原理

今天药忘吃喽~ 2021-11-14 12:38 506阅读 0赞

协调架构原理简介

Fourinone对分布式协调的实现,是通过建立一个domain/node两层结构的节点信息去完成,domain可以是分类或者包,node可以是具体属性,domain和node都是根据需求设计命名,比如可以将domain命名为“a.b.c…”表示一个树型类目。一个domain下可以有很多个node,每个node只指定一个domain,可以通过domain返回它下面所有的node。domain不需要单独建立,通常在建立node时,如果不存在domain会自动创建。如果domain下没有node了,该domain会自动删除。如果删除domain,该domain下面node也都会删除。每个node下可以存放一个值,可以是任意对象。所有的节点信息存放在ParkServer里,ParkServer提供协调者的功能。

其他分布式进程可以通过ParkServer的用户接口ParkLocal,对节点进行增加、修改、删除、指定心跳、指定权限等操作,并且结合ParkServer提供同步备份、领导者选举、过期时间设置等功能,共同来实现众多分布式协调功能。

我们举个例子,说明两个分布式应用完成协调功能的流程:

1)分布式应用A通过ParkLocal在ParkServer上创建一个domain/node的节点,并且在节点里存放相应的value,这个节点以及它的value值代表分布式应用A的某种协调信息,它存放在ParkServer上用于向分布式应用B分享。

2)分布式应用B通过ParkLocal操作ParkServer,对它上面的分布式应用A建立的这个domain/node节点进行监听,如果节点value发生变化,那么分布式应用B可以获取到这个value,并进行相应的业务处理,这样便将各自独立的分布式应用A和B协调了起来。

3)由于ParkServer保存着用于协调的节点和信息,为了防止ParkServer宕机导致整体故障,ParkServer配置为一主多备的关系,互相同步信息,在故障时可以进行领导者选举,切换到备用ParkServer上继续提供协调服务。

分布式协调的场景还有很多,例如:

1)分布式配置,多个机器的应用公用一个配置信息,并且挂掉能够通过领导者选举进行恢复;

2)分布式锁,多个机器竞争一个锁,当某个机器释放锁或者挂掉,其他机器可以竞争到锁,继续执行任务;

3)集群管理,集群内机器可以互相感知并进行领导者选举;

4)多个节点,每个节点具有读写权限不一样的操作。

转载于:https://www.cnblogs.com/muzinan110/p/11052174.html

发表评论

表情:
评论列表 (有 0 条评论,506人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分布式协调服务Zookeeper

    分布式系统介绍 分布式系统的定义 《分布式系统原理和范型》一书中定义:分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。 从进程角度看,两