写点什么

etcd:用于服务发现的键值存储系统

  • 2014-07-29
  • 本文字数:1107 字

    阅读完需:约 4 分钟

etcd 是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd 是由 CoreOS 开发并维护的,灵感来自于 ZooKeeper Doozer ,它使用 Go 语言编写,并通过 Raft 一致性算法处理日志复制以保证强一致性。Raft 是一个来自 Stanford 的新的一致性算法,适用于分布式系统的日志复制,Raft 通过选举的方式来实现一致性,在 Raft 中,任何一个节点都可能成为 Leader。Google 的容器集群管理系统 Kubernetes、开源 PaaS 平台 Cloud Foundry 和 CoreOS 的 Fleet 都广泛使用了 etcd。

在分布式系统中,如何管理节点间的状态一直是一个难题,etcd 像是专门为集群环境的服务发现和注册而设计,它提供了数据 TTL 失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态。etcd 目前的版本是 0.4.5,虽然未发布 1.0 版本(今年会发布),但其已经使用在多个生产系统中,可见其火热程度。etcd 的特性如下:

  • 简单: curl 可访问的用户的 API(HTTP+JSON)
  • 安全: 可选的 SSL 客户端证书认证
  • 快速: 单实例每秒 1000 次写操作
  • 可靠: 使用 Raft 保证一致性

etcd 是 CoreOS 的核心组件,负责节点间的服务发现和配置共享,运行在 CoreOS 中的应用可以通过 etcd 读取或者写入数据。虽然 etcd 是为 CoreOS 而设计,但其可以运行在多个平台上,包括 OS X、Linux、BSD。

Jason Wilder 的一篇博客对分别对常见的服务发现开源项目 Zookeeper、Doozer、etcd 进行了总结介绍:

Zookeeper 是一个用户维护配置信息、命名、分布式同步以及分组服务的集中式服务框架,它使用 Java 语言编写,通过 Zab 协议来保证节点的一致性。因为 Zookeeper 是一个 CP 型系统,所以当网络分区问题发生时,系统就不能注册或查找服务。

Doozer 是一个一致性的、分布式存储系统,使用 Go 语言编写,通过 Paxos 来保证强一致性,Doozer 项目目前已经停止更新并有将近 160 个分支。和 Zookeeper 一样,Doozer 也是一个 CP 型系统,在网络分区问题发生时,会有同样的问题。

etcd 是一个用于共享配置和服务发现的高可用的键值存储系统,使用 Go 语言编写,通过 Raft 来保证一致性,有基于 HTTP+JSON 的 API 接口。etcd 也是一个强一致性系统,但是 etcd似乎支持从 non-leaders 中读取数据以提高可用性;另外,写操作仍然需要 leader 的支持,所以在网络分区时,写操作仍可能失败。

目前有很多支持 etcd 的库和工具,比如命令行客户端工具 etcdctl 、Go 客户端 go-etcd 、Java 客户端 jetcd 。关于 etcd 的使用和安装读者可以参考官方文档

给InfoQ 中文站投稿或参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-29 02:4519322
用户头像

发布了 219 篇内容, 共 139.5 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

人工智能 | 计算机视觉迁移学习:开启智能化视野的大门

测吧(北京)科技有限公司

测试

人工智能:亲手打造的强化学习模型征服游戏世界

测吧(北京)科技有限公司

测试

Photoshop 2020 for mac(PS2020)v21.2.5中文激活版

Geek_幻墨成诗

Photoshop 2024破解版 Photoshop2020

Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

和鲸科技与国科环宇建立战略合作伙伴关系,以软硬件一体化解决方案促进科技创新

ModelWhale

软件 服务器 算力 大模型 计算平台

如何有效的进行 E2E

优测云服务平台

测试 测试技术

软件测试/人工智能|PyCharm常用快捷键指南

霍格沃兹测试开发学社

人工智能 | 掌握有参照的 UIDiff 检测技术:优化用户界面的关键工具

测吧(北京)科技有限公司

测试

数仓实践丨常量标量子查询做全连接导致整体慢

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

[开源更新]企业级身份管理和访问管理系统、为数字身份安全赋能

小狗围观科幻

Ableton Live 12 for Mac(音乐制作工具)激活版

iMac小白

软件测试 | 引领未来,掌握模型驱动技术的人工智能革命

测吧(北京)科技有限公司

测试

超赞!让vue开发效率翻倍的工具分享

秃头小帅oi

Vue 前端

自然语言处理技术原理解析

测吧(北京)科技有限公司

测试

人工智能 | 经典卷积网络模型解析:深度学习中的里程碑

测吧(北京)科技有限公司

测试

Photoshop 2024(ps2024最新)v25.1激活版

Geek_幻墨成诗

Photoshop 2024破解版 Photoshop2024下载

用 LangChain 搭建基于 Notion 文档的 RAG 应用

Zilliz

Milvus Zilliz AIGC langchain rag

云边协同的RTC如何助力即构全球实时互动业务实践

ZEGO即构

边缘计算 实时音视频 MSDN 云边协同 音视频质量

软件测试/人工智能|教你轻松掌握Python输入与输出

霍格沃兹测试开发学社

Final Cut Pro for Mac(fcpx视频剪辑) v10.6.10中文版

Geek_幻墨成诗

Final Cut Pro下载 Final Cut Pro中文版 Final Cut Pro破解版 Final Cut Pro教程 Final Cut Pro

Pixea Plus for Mac(高效图片浏览器)v5.2激活版

iMac小白

第16届中国R会议暨2023X-AGI大会开幕,和鲸科技分享ModelOps在数据科学平台中的实践与应用

ModelWhale

R语言 数据科学 算法模型 ModelOps 计算平台

谷歌访问助手(谷歌浏览器插件)Mac中文版

Geek_幻墨成诗

谷歌访问助手

“降本增效”才是选择低代码开发的主旋律

互联网工科生

软件开发 低代码开发 JNPF

屏幕截图工具 Snagit mac 2023.2.4中文版

iMac小白

人工智能 | 无参照模型预测技术:提升模型性能和应用体验的新思路

测吧(北京)科技有限公司

测试

人工智能 | 引领未来,掌握图像目标检测:PyTorch带您探索智能时代

测吧(北京)科技有限公司

测试

人工智能 | Bug预测新纪元:基于迁移学习的创新应用

测吧(北京)科技有限公司

测试

Office 2019 v16.78.3激活工具(office2019套件)

Geek_幻墨成诗

Office 2019下载 Microsoft Office 2019

Reallusion Cartoon Animator for Mac(2D动画设计制作软件) v4.51.3511.1完美激活版

mac

苹果mac Windows软件 Reallusion 2D动画设计制作软件

井然有序 | AIRIOT智能安防系统解决方案

AIRIOT

物联网 智能安防

etcd:用于服务发现的键值存储系统_DevOps & 平台工程_小盖_InfoQ精选文章