您的位置:首页 > 其它

zookeeper学习笔记-zookpeeper集群

2017-04-01 14:09 197 查看
Zookeeper集群

1.是一种对等集群,所有节点(机器)数据都一致

2. 集群节点之间靠心跳感知彼此的存在

3. 所有写操作都在主节点上,其他节点只能读,虽然可以接收写请求,但是内部会把写操作转给主节点

4. 通过选举机制选出主节点,从而保障了主节点的高可用

5.至少3个节点,必须是基数个节点,这个和zk的选举算法有关系的,以后介绍

6. 当一半以上的节点数据写入成功后,则返回写入成功,是最终一致性策略

Zookeeper集群



分布式系统理论之CAP定义

1. 一个分布式系统不可能同时时满足一致性(Consistency),可用性(Availability)和分区容忍性(Partition tolerance)这些基本需求,只能满足其中的两项

CAP解读

1.一致性:分布式环境下,一致性主要是指数据在多个副本间是否保持一致

2.可用性:是指系统提供的服务必须是一直处于可用的状态,对于用户的请求总是能够在有限的时间内返回结果,有限

时间强调的是用户能接受的时间

– 可用性和常说的高可用性的可用性不是一个概念,即如果服务访问不到,不属于没有可用性

– P:集群出现网络割裂(即脑裂)时,集群还能继续提供一定的可用性和一致性,除非整个网络不可用

– 只能满足其中的两项不是另外一项就完全没有,而是要求没有那么严格

3. 分区容忍是分布式系统必须有的特性,因为网络不可靠,所以只能在C和A中进行平衡

分布式系统理论之BASE理论

BASE是Basically Available(基本可用), Soft state(软状态)和Eventually Consistent最终一致性)几个短语的简写,它是对CAP中的一致性和可用性权衡的结果

– BASE的核心思想是即使无法做到强一致性,但是每个应用可以根据自身的业务特点,采用适当的方式

达到最终一致性,同时获取到系统可用性

1.BASE之基本可用

– 响应时间上的损失:有些要求1s内返回,有些要求5s内返回

– 功能上的损失:对于电商来说,某些区域可能不能购买某些商品,又或者大促时,部分消费者被引流

到降级的页面

2.BASE之弱状态

– 也称为软状态,是指允许系统中的数据存在中间状态,并认为该状态不会影响系统的整体可用性,即

允许系统在不同节点的数据副本之间存在一定的延时

– 举例:双11的时候,我在京东购买东西,明明已经付款成功,但是系统提示的还是未付款

3. BASE之最终一致性

– 系统中的数据副本在经过一段时间同步后,最终能够达到一个一致的状态

集群搭建

把安装的zk复制成3份分别改写zoo.cfg文件如图







在每个dataDir=/tmp/zookeeper1目录下创建文件mypid,分别写入1,2,3到zookeeper1,zookeeper2,zookeeper3

配置完成,启动三个zk如图



修改任何一个节点都会同步其他节点,简单的同步完成

java客户端代码如下

package com.xue.zk1;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.ZooDefs.Ids;

public class ZkclientTest {
ZooKeeper zkclient = null;
public ZkclientTest() throws Exception {
this.zkclient = new ZooKeeper("localhost:2181,localhost:2182,localhost:2183", 5000, null);
}

public void createPersistentNode(String path, Object data) throws Exception, InterruptedException {
zkclient.create(path, "meiren".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}

public static void main(String[] args) throws Exception {
ZkclientTest zt = new ZkclientTest();
zt.createPersistentNode("/zkclient", "zkclientnode2");

}

}




如上图每个节点都有zkclient这个节点





大小: 72.5 KB

查看图片附件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: