fourinone分布式协调设计解析.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fourinone分布式协调设计解析,fourinone分布式协调,fourinone,fourinone官网,fourinone源码,fourinone下载,fourinoneconfig.xml,fourinone环境搭建,fourinone4,fourinone学习

分布式协同是分布式应用中不可缺少的,通常担任协调者的角色,或者说是将多机协同的职 责从分布式应用中独立出来,以减少系统的耦合性和增强扩充性。Apache 的 Zookeeper, google 的Chubby 都是分布式协同的实现者。fourinone 实际上可以单独当做Zookeeper 用, 它使用最少的代码实现了Zookeeper 的所有功能,并且力图做到功能更强但是使用更简洁。 一、实现原理1 二、核心API 2 三、权限机制:2 四、相对于zookeeper 的优势3 五、演示demo 4 一、实现原理 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、分布式配置,多个机器的应用公用一个配置信息,并且挂掉能够领导者选举,详细见指 南和demo 2、分布式锁,多个机器竞争一个锁,当某个机器释放锁或者挂掉,其他机器可以竞争到锁 继续,详细见指南和demo 3、集群管理,集群内机器可以互相感知和领导者选举,详见指南和demo 二、核心API ParkLocal 核心api 说明: //创建node,可以根据是否需要权限和心跳属性调用不同方法 public ObjectBean create(String domain, Serializable obj);// 自动创建node public ObjectBean create(String domain, String node, Serializable obj); public ObjectBean create(String domain, String node, Serializable obj, AuthPolicy auth); public ObjectBean create(String domain, String node, Serializable obj, boolean heartbeat); public ObjectBean create(String domain, String node, Serializable obj, AuthPolicy auth, boolean heartbeat); //更新node public ObjectBean update(String domain, String node, Serializable obj); //获取node public ObjectBean get(String domain, String node); //获取必威体育精装版node,需要传入旧node 进行对照 public ObjectBean getLastest(String domain, String node, ObjectBean ob); //获取必威体育精装版domain public ListObjectBean get(String domain); //获取必威体育精装版domain 下所有node,需要传入旧的node 集合对照 public ListObjectBean getLastest(String domain, ListObjectBean oblist); //删除node public ObjectBean delete(String domain, String node); //强行设置domain 可删除 public boo

文档评论(0)

xingkongwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档