Talk is Cheap, Show me the Code! <<网站首页文章列表

  • J2EE开发技术栈相关整理——基础版

    AI基础进行中... Zookeeper简介 Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination. ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configuration management, synchronization, and group services - in a simple interface so you don't have to write them from scratch. You can use it off-the-shelf to implement consensus, group management, leader election, and presence protocols. And you can build on it for your own, specific needs.Apache ZooKeeper致力于提供一个高可用、高性能、开源的分布式应用协调服务。它为分布式应用提供一致性保障,常用的服务包括:命名系统、配置管理、分布式同步、组服务等。你通过一些简单的接口就可以轻而易举的获得一些功能,例如一致性维护、组管理、leader选举;同样的,你可以基于它来实现自己想要的其它功能。 ZooKeeper是以Fast Paxos算法为基础的,Paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。 设计目的+ 易用性 ZooKeeper提供一种简单的层级式命名设计,就像我们PC标准的文件系统一样(文件和目录)。通过共享同一个命名目录,ZooKeeper实现多个分布式处理过程之间可以相互通信、协调。 命名空间由数据目录组成,我们称之为zn

    Java   Zookeeper   Curator   2019-05-06 浏览(300) 阅读原文>>
  • 从零开发参数同步框架(二)—— 前期准备之工具类

    零、基础定义 约定本框架对与监听参数的设计功能是通用的,它维护一个监听的数据节点信息,包含监听的db、table以及id信息。在zookeeper上,创建一个广播节点(broadcasetnode)作为根节点;在根节点下的目录结构是/broadcasetnode/db/table/id,每个客户端可以监听对应的节点以获取不同范围的触发事件。 GgTable当平台管理的参数发生变动时,服务端代码会将该对象传递给zk节点,然后通过监听事件传递给对应的客户端。它保存了监听的详情,包括监听的数据库、数据表、数据字段。框架默认实现的功能是触发table级别的事件,另外两个级别需要大家自行实现,比较简单。javaimport java.io.Serializable;public class GgTable implements Serializable { private static final long serialVersionUID 5755663143906038786L; //数据库 private String db; //表 private String table; //默认的id主键值,long型 private Long id; //自定义字段名 private String field; //field 相对于 数据记录的 value值 private Object value; public GgTable(String db, String table) { super(); this.db db; this.table table; } //get、set、equals、toString等方法省略} Curator实例缓存CuratorFrameworkUtil工具类对Curator实例对象CuratorFramework进行了缓存,缓存的Key就是zk地址,它负责创建最简洁的连接对象并复用。这个简洁的对象与框架路径无关。javapublic class CuratorFrameworkUtil extends GgFrameworkAbstract { private static final String LOGPREV "[CuratorFrameworkUtil] "; //注册zk地址,命名前缀解析 private static final String PREFIX "://"; //zk连接客户端

    参数同步   Curator   2018-10-24 浏览(3652) 阅读原文>>
  • 1 
    blogTest
    分享文章
     
    使用APP的"扫一扫"功能,扫描左边的二维码,即可将网页分享给别人。
    你也可以扫描右边本博客的小程序二维码,实时关注最新文章。