zookeeper简介

ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。

分布式应用的优点

可靠性 - 单个或几个系统的故障不会使整个系统出现故障。

可扩展性 - 可以在需要时增加性能,通过添加更多机器,在应用程序配置中进行微小的更改,而不会有停机时间。

透明性 - 隐藏系统的复杂性,并将其显示为单个实体/应用程序。

分布式应用的挑战

竞争条件 - 两个或多个机器尝试执行特定任务,实际上只需在任意给定时间由单个机器完成。例如,共享资源只能在任意给定时间由单个机器修改。

死锁 - 两个或多个操作等待彼此无限期完成。

不一致 - 数据的部分失败。

ZooKeeper的好处

    以下是使用ZooKeeper的好处:

简单的分布式协调过程

同步 - 服务器进程之间的相互排斥和协作。此过程有助于Apache HBase进行配置管理。

有序的消息

序列化 - 根据特定规则对数据进行编码。确保应用程序运行一致。这种方法可以在MapReduce中用来协调队列以执行运行的线程。

可靠性

原子性 - 数据转移完全成功或完全失败,但没有事务是部分的。

Java绑定

connect - 连接到ZooKeeper集合

create- 创建znode

exists- 检查znode是否存在及其信息

getData - 从特定的znode获取数据

setData - 在特定的znode中设置数据

getChildren - 获取特定znode中的所有子节点

delete - 删除特定的znode及其所有子项

close - 关闭连接

ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)

create(String path, byte[] data, List<ACL> acl, CreateMode createMode)

exists(String path, boolean watcher)

getData(String path, Watcher watcher, Stat stat)

setData(String path, byte[] data, int version)

getChildren(String path, Watcher watcher)

delete(String path, int version)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值