写点什么

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:4519712
用户头像

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

关注

评论

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

电商API的创新应用与高效数据采集策略实践

代码忍者

API 接口 pinduoduo API

java浅拷贝BeanUtils.copyProperties引发的RPC异常

京东科技开发者

大数据从业者必知必会的Hive SQL调优技巧

京东科技开发者

DDD学习与感悟——向屎山冲锋

京东科技开发者

Java开发者必看!避开十大致命陷阱的实战指南

巧手打字通

Java 后端 经验分享 Java编程优化 闭坑指南

PaddleX图像分割赋能医疗领域筛查检测,打造智能医疗诊断系统

百度Geek说

这是一封面向未来的公开信:校园“Milvus明日之星”招募令

Zilliz

AI Milvus 向量数据库

企业有了ELT就不需要ETL了?别被忽悠了

谷云科技RestCloud

数据挖掘 kettle 数据处理 ETL ELT

福建龙岩等级保护测评机构有几家?在哪里?

行云管家

等保 堡垒机 龙岩

防范数据泄露就用堡垒机!

行云管家

数据安全 堡垒机 数据泄露

文献解读-Consistency and reproducibility of large panel next-generation sequencing: Multi-laboratory assessment of somatic mutation

INSVAST

基因数据分析 生信服务

PR2022安装包,Premiere Pro 2022(Win&Mac) 直装下载

你的猪会飞吗

pr2022 Premiere Pro 2022 mac破解软件下载

快速理解 GraphRAG:构建更可靠、更智能的 Chatbot

Baihai IDP

程序员 AI 白海科技 Baihai IDP 企业 9 月 PK 榜

战略上的AI:如何将人工智能融入企业战略

天津汇柏科技有限公司

AI人工智能

微信小程序开发小白教学

FinFish

ide 小程序容器 小程序容器技术

并发处理的利器:深入探讨锁分离设计+6大分离场景(高并发篇)

肖哥弹架构

Java 高并发

模拟建造游戏推荐:城市:天际线Cities: Skylines(Win&Mac) 版下载

你的猪会飞吗

城市天际线 Mac游戏下载

花半小时用豆包Marscode 和 Supabase免费部署了一个远程工作的导航站

TRAE.ai

人工智能 程序员 AI 项目 部署

怎样摆脱繁重的“物理集中”,轻松连接与交付全域数据,真正实现“敏捷用数”?

Aloudata

Go必知必会:深入探索Go语言中的指针,内存操作的艺术

王中阳Go

golang 指针 数据类型 GO语言编程

如何构建成功的财务规划团队?

智达方通

企业管理 全面预算管理 财务管理 全面预算管理系统

分享 | 多因素认证让某汽车厂商的数字资产更安全

芯盾时代

身份安全 汽车 mfa

LED显示屏P3、P4、P5的区别有哪些?

Dylan

技术 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

“AI+Security”系列第3期(二):AI赋能自动化渗透测试

云起无垠

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