电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>常用软件>系统工具>zetcd入门及应用

zetcd入门及应用

2017-09-28 | rar | 0.6 MB | 次下载 | 1积分

资料介绍

  zetcd是一款架在ZooKeeper与etcd之间的代理程序,它可以将ZooKeeper客户端的请求消息转换成etcd要求的格式,并转发给etcd,然后将响应消息转换后返回给客户端。本文介绍了zetcd的使用方法、工作原理以及性能评测。以下是译文。

  分布式系统需要依赖分布式一致性来协调工作。通常情况下,提供分布式一致性担保信息的系统会接收到按顺序投递过来的消息,这样就不会产生脑裂冲突(split-brain conflicts,译者注:本来一个大脑的两个半球是互相配合的,但是现在分裂变成了两个独立的大脑,并且都认为对方已死。此时,双方都会去尝试接管集群资源,这样就可能会造成冲突,产生严重的后果)。这类系统的用途是显而易见的。像chubby、ZooKeeper、etcd、consul这些项目,尽管它们的原理和协议各不相同,但它们都侧重于为分布式一致性提供类似的基本键值原语。为了让etcd成为分布式系统中最具吸引力的项目,etcd团队开发了一款新的代理服务器程序:zetcd,使用这款软件,etcd集群无需修改即可处理ZooKeeper客户端的请求。

  ZooKeeper是这方面第一个流行起来的开源软件,它是很多分布式系统的首选后端软件。这些系统理论上也可以搭配etcd一起运行,但是由于历史原因,实际上根本实现不了。etcd集群不支持ZooKeeper,因为etcd的数据模型和客户端协议与ZooKeeper应用程序不兼容。ZooKeeper应用程序也不是原生的支持etcd;如果系统已经在稳定运行了,那么没有必要去为了适应新的后端软件而让系统更加复杂。幸运的是,etcd的第三版API相当的牛逼,它可以通过一个普通的代理来模拟ZooKeeper客户端的数据模型,这就是zetcd,一个由etcd团队开发的新的开源项目。今天,zetcd发布了第一个测试版,v0.0.1版,这为在生产系统中管理和部署zetcd打下了基础。

  zetcd代理位于etcd集群的前端,它提供了一个模拟ZooKeeper客户端的端口,让原版的ZooKeeper应用程序可以运行在etcd上。其基本原理是,zetcd将ZooKeeper客户端的请求转换为适合于etcd数据模型和API要求的消息,将发送给etcd,然后将etcd的响应消息转换后返回给客户端。该代理的性能可以与ZooKeeper相媲美,利用etcd的特性和工具可以简化ZooKeeper集群管理。下文将展示zetcd的使用方法和工作原理,并分享一些性能评测数据。

  zetcd入门

  让zetcd运行起来需要三样东西:一个Go编译器、一个能够获取源代码的互联网连接,以及一个可以运行etcd的系统。下面的示例展示了如何用源代码编译生成zetcd,并对它运行ZooKeeper命令。当我们需要部署正式环境的时候,我们并不建议从开发分支来获取源代码并编译etcd和zetcd,但是如果只是试用一下的话,这是最简单的方法。

  首先,获取源代码并编译etcd和zetcd的二进制文件:

  接下来,运行etcd,并将zetcd连接到etcd的客户端接入点:

  试用zetcd,启动查看并创建一个key:

  这个例子展示了在一个独立的etcd实例上部署了一个zetcd代理层:

  zetcd入门及应用

  一个简单的zetcd服务器拓扑

  那么这个zetcd代理层是做什么的呢?

  ZooKeeper接入etcd3

  在底层,zetcd将ZooKeeper的数据模型转换为适合的etcd API的数据。对于key的查找,zetcd将ZooKeeper的分级目录转换为etcd的普通二进制keyspace。对于元数据的管理,zetcd利用事务内存安全地和原子地将ZooKeeper znode信息更新到etcd后端。

  ZooKeeper是按目录列出所有的key(getChildren),而etcd是按区间(Range)列出所有的key。下图说明了zetcd是如何在etcd中对key进行编码以便可以快速地列出目录中的key。所有zetcd的key都有一个包括目录深度的前缀(例如,“/”和“/abc/”分别具有0和1的深度)。要列出一个目录,zetcd会给出前缀范围,这个前缀以目录的深度和路径来匹配相应的key(例如,前缀范围[“/zk/key/002/abc/”,“/zk/key/002/abc0”]用于列出/abc/)。这里的目录深度是为了限制目录本身被当作key。如果zetcd将路径当作是没有深度的前缀,那么目录下的所有key,而不是只有其直接子节点,会由etcd返回并被代理抛弃。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1491次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  95次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  4次下载  |  免费
  15. 8基于AT89C2051/4051单片机编程器的实验
  16. 0.11 MB  |  4次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537793次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费