ZooKeeper: 分布式应用的分布式协调服务
ZooKeeper是一个分布式的,开源的分布式协调服务。它公开了一系列原语可以帮助分布式服务实现更高层的同步,配置维护,分组和命名服务。它设计的易于编程,使用一个近似于文件系统目录结构树的数据结构。ZK可以运行在Java和同时具有Java,C绑定的环境中。
协调服务众所周知是很难实现。它们很容易出错,例如竞争条件以及死锁。ZK的动机是缓解分布式应用从头实现协调服务的责任
设计目标
ZK简单:ZK允许分布式进程通过一个共享的近似于标准文件系统的层次命名空间相互协调。命名空间由数据寄存器组成-在ZK中称之为Znode,它近似于文件和目录。但又不同于典型的文件系统,Znode设计用来存储,ZK的数据保存在内存中,这就意味着ZK可以提供高吞吐量和低延迟的数据。
ZK实现重视高性,高可用严格有序访问。ZK的性能方面一位置它可以在大型分布式系统中使用。可用性方面它可以从单点故障中恢复。严格有序意味着客户端可以实现复杂的同步原语。
ZK是可复制的:像分布式进程协调一样,ZK自身旨在通过称之为信号群的一系列主机进行复制。
组成ZK服务的主机必须相互了解,他们在内存中保存图像装填,事务日志以及事务快照。只要大多数服务器可用ZK服务就可用。
客户端连接单一的ZK服务器。客户端通过发送请求,获取响应,获取watch事件以及发送心跳维持TCP连接。如果和服务器的TCP连接断开,客户端将和其他的服务器建立建立连接。
ZK有序:ZK对每一个更新加盖一份能够反映所有ZK事物顺序的数字戳。后续的操作可以通过顺序性实现更高层次的抽象,例如同步原语。
ZK快:ZK在读主导的工作负载下特别快。ZK应用运行在数以千计的机器上,它读性能通常要好于写,读写比约为10:1.
数据模型和层次命名空间
ZK提供的命名空间很像一个标准的文件系统。名称是一个使用"/"分割的路径元素序列。ZK的每个节点的名称是通过路径确定。
相关推荐
#### 一、zk简介 **zk** 是一款轻量级的开源Ajax Web框架,其目标是使开发者能够像构建桌面应用一样轻松地开发Ajax Web应用。它提供了丰富的组件库,支持事件驱动的编程模型,并且具有良好的性能表现。 #### 二、...
#### 二、ZK简介 **ZK** 是一个高性能的Web应用程序框架,它的核心理念是简化Web应用程序的开发过程,使得开发者能够更加专注于业务逻辑而不是底层技术细节。通过ZK,开发者可以使用类似桌面应用的编程模型来构建...
#### 一、ZK简介及环境搭建 - **ZK**:是一款基于Java的企业级Web应用开发框架,它提供了一种简单高效的方式来创建丰富的交互式用户界面。与传统的Web开发相比,ZK更加注重于简化开发流程,减少编码量,同时提高应用...
1. **ZooKeeper简介**: ZooKeeper是一个开源的分布式协调服务,由Apache基金会开发,用于解决分布式环境中的数据一致性问题。它提供了一种树状的数据结构,每个节点都可以存储数据,并具有唯一的路径标识,支持...
#### Groovy与Grails简介 Groovy是一种灵活的面向对象编程语言,它运行在Java平台上,支持面向对象编程的所有特性,同时还提供了动态语言的功能。Groovy语法简洁且与Java高度兼容,这使得它成为扩展或改进现有Java...
ZK开发手册(Developer's Guide)的中文翻译版一部分已经公开在zk-devguide 开发手册全部共有14章,超过200页,信息非常齐全: 第1到3章是ZK的简介以及基础构造的说明, 第4,5章介绍组件的周期以及如何处理事件....
ZK系列产品的选型指南和各系列(如ZK2N-14、ZK2N-20、ZK2N-32、ZK2N-48系列)的简介,提供了对于不同系列在应用场景上的选择建议。ZK系列接线图展示了不同系列产品的接线方法,为用户进行硬件连接提供了参考。 在...
ZK项目的历史背景在开发手册的简介部分有所描述。ZK自发布以来,已经更新了多个版本,它是一种基于Java语言开发的应用框架,并且拥有了官方中文文档的整理版。这些资料的整理和发布,旨在让更多人了解和使用ZK框架。...
#### 一、ZK框架简介 ZK框架是一个采用Java语言编写的强大且简便的表现层框架。它最显著的特点之一是内置了基于Ajax的事件驱动引擎,这使得开发者无需编写任何JavaScript代码即可实现复杂的前端交互。 - **特性**...
### ZK框架简介 ZK是一款开源的Java Web应用框架,其最大的特点是能够以组件的方式构建复杂的用户界面,并且无需刷新整个页面即可实现动态交互效果。这种特性使得开发者可以轻松创建出接近原生桌面应用体验的Web...
#### 一、zk框架简介 zk是一款功能强大且高效的Web应用程序开发框架,它基于组件模型,并支持Ajax技术。该框架的主要特点在于其轻量级的架构和简单易用的API,使得开发者能够快速构建复杂的Web应用而无需编写大量的...
#### 一、ZK-Studio简介 ZK-Studio是Potix Corporation开发的一款集成开发环境(IDE),主要用于基于ZK框架的富互联网应用程序(RIA)开发。它作为Eclipse的一个插件,为开发者提供了一个功能全面且易于使用的开发...
#### 一、简介 ZKThemer是一款用于ZK开发框架的自动颜色主题生成工具。它能够帮助开发者快速地为ZK应用生成各种颜色主题,从而实现UI风格的多样化。ZKThemer作为一个Java命令行应用程序,理论上可以在任何支持Java ...
- **AJAX简介**:AJAX(Asynchronous JavaScript and XML)是一种用于构建动态Web应用的技术,通过在后台与服务器进行数据交换,实现了无需重新加载整个网页即可更新部分内容的功能。 - **优点**: - 提升了Web应用...
### ZK框架简介 #### 1. 传统Web应用与ZK ZK是一种用于构建富互联网应用(RIA)的开源Java框架,它提供了高效的服务器推送技术和直观的组件模型,使得开发者能够创建出高性能、低延迟的应用程序。相比于传统的Web...
#### 二、ZK框架简介 **ZK框架**由Potix Corporation开发,是一款基于Java的开源Web应用框架,旨在提供一种无需编写复杂JavaScript代码即可实现Ajax功能的方法。这意味着开发者可以专注于业务逻辑而非前端交互细节...
1. 产品简介 ZK-ZT2调速器支持四种运行模式:手动(人工)控制、自动控制、上位机控制和串口控制。这四种模式可实现直流电机的正反转、停止、刹车以及调速功能,并支持可编程运行。通过拨码开关,可以切换手动或自动...