协调-协调架构原理

协调架构原理简介

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值