程序员人生 网站导航

Zookeeper应用

栏目:框架设计时间:2015-03-03 08:07:50
1、zookeeper配置文件简介:
          * zookeeper的配置文件在conf目录下,有zoo_sample.cfg, 需要将zoo_sample.cfg 改成zoo.cfg,由于zookeeper在启动时会找这个文件作为默许的配置文件。
          * 参数:
               tickTime:zookeeper服务器或客户端与服务器之间保持心跳时间间隔参数。每一个ticktime时间就会发送1个心跳。
               dataDir : zookeeper数据存储目录。默许情况会把日志文件保存到这个目录。
               clientPort :zookeeper服务器商品,zookeeper会监听这个端口,接受客户真个要求。


2、集群模式:
     zookeeper不但可以单机提供服务,同时也支持多机组成集群来提供服务。实际上zookeeper还支持另外1种伪集群的方式,就是可以在1台机器人上配置多个zookeeper实例。
          配置(zoo.cfg):
           initLimit=5 
           syncLimit=2 
           server.1=192.168.211.1:2888:3888 
           server.2=192.168.211.2:2888:3888
     * initLimit :这个配置项是用来配置zookeeper接受客户端初始化连接时最长能忍耐多少个心跳时间间隔数。
     * syncLimit : leader与Follower之间发送消息、要求利用于时间长度,最长不能超过量少个ticktime的时间长度。
     * server.A = B : C : D   其中A是1个数字,表示这是第几号服务器;B是这服务器的ip地址;  C表示的是这个服务器与集群中的leader服务器交换信息的端口; D表示的是万1集群中的leader服务器挂了,需要1个端口来重新进行选举新的leader。
除修改zoo.cfg配置文件,集群模式下还要配置1个文件myid, 这个文件在dataDir目录下,这个文件里面就是1个数据就是A的值,zookeeper启动时会读取这个文件,拿到里面的数据与zoo.cfg里面的配置信息从而判断究竟是哪一个server。

3、利用场景
     Zookeeper人设计模式的角度来看是1个视察者模式的散布式服务管理框架,负责存储和管理大家关心的数据,然后接受视察者的注册,1旦这些数据产生变化,Zookeeper就会负责通知已注册过了的那些observer做出相应的反应,从而实现集群中类似的Master、Slave管理模式。

     * 统1命名服务(Name Service)
          散布式利用中,通常需要有1套完全的命名规则, 能够产生唯1的名称 又便于人辨认和记住,通常情况下用树形的名称结构是1个理想的选择,树形的名称结构是1个有层次的目录结构,即对人友好又不会重复。 Name Service是Zookeeper内置的功能, 只须调用其api就能够实现。如调用 create接口就能够容易的创建 1个目录节点。(与JNDI 差不多吧)
     * 配置管理
          配置的管理费用在散布式利用环境中很常见,例犹如1个利用系统需要多个pc server运行, 但是它们运行的利用系统的某些配置项是相同的,如果要修改这些相同的的配置项,那末就必须同时修改每台运行这个利用系统的PCserver 这样非常容易出错。  像这样的配置信息完全可以交给zookeeper管理,将配置信息保存在zookeeper的某个目录节点上,然后将所有需要修改的利用机器监控配置信息的状态,1旦配置信息产生变化,每台机器就会收zookeeper的通知。



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐