Project Icon

etcd

分布式高可用键值存储系统

etcd是一个开源的分布式键值存储系统,专为存储分布式系统中的关键数据而设计。它采用Raft共识算法实现高可用性,提供简洁的gRPC API接口、自动TLS加密和快速的读写性能。etcd广泛应用于生产环境,特别适合与Kubernetes集成。系统自带etcdctl命令行工具,并通过严格的健壮性测试保证稳定可靠。

etcd

Go报告卡 覆盖率 测试 codeql分析 文档 Godoc 发布版本 许可证 OpenSSF评分卡 由Actuated赞助的Arm CI

注意:在开发过程中,main分支可能处于不稳定甚至损坏的状态。对于稳定版本,请查看发布版本

etcd标志

etcd是一个分布式可靠的键值存储系统,用于存储分布式系统中最关键的数据,主要特点包括:

  • 简单:定义明确的面向用户的API(gRPC)
  • 安全:自动TLS,可选客户端证书认证
  • 快速:基准测试达到10,000次写入/秒
  • 可靠:使用Raft算法实现适当的分布式

etcd使用Go语言编写,并采用Raft共识算法来管理高可用的复制日志。

etcd被许多公司在生产环境中使用,开发团队在关键部署场景中为其提供支持,etcd经常与KuberneteslocksmithvulcandDoorman等应用程序配合使用。通过严格的稳健性测试进一步确保了其可靠性。

有关简单的命令行客户端,请参见etcdctl

etcd的可靠性很重要

原始图片来自xkcd.com/2347,由Josh Berkus修改。

维护者

维护者致力于塑造一个包容性的开源项目文化,让用户的声音得到倾听,让贡献者感到受尊重和赋能。维护者旨在建立跨公司和跨学科的富有成效的关系。阅读更多关于维护者的角色和责任

入门指南

获取etcd

获取etcd的最简单方法是使用预构建的发布二进制文件,这些文件可用于OSX、Linux、Windows和Docker,可在发布页面上找到。

更多安装指南,请查看play.etcd.io操作etcd

运行etcd

首先启动一个单成员的etcd集群。

如果使用预构建的发布二进制文件安装etcd,请从安装位置运行它,如下所示:

/tmp/etcd-download-test/etcd

如果将etcd移动到系统路径中,可以简单地运行etcd命令,如下所示:

mv /tmp/etcd-download-test/etcd /usr/local/bin/
etcd

这将启动etcd,监听2379端口用于客户端通信,监听2380端口用于服务器间通信。

接下来,让我们设置一个键,然后检索它:

etcdctl put mykey "这真是太棒了"
etcdctl get mykey

etcd现在正在运行并响应客户端请求。更多信息,请查看:

etcd TCP端口

etcd的官方端口是2379用于客户端请求,2380用于节点间通信。

运行本地etcd集群

首先安装goreman,它用于管理基于Procfile的应用程序。

我们的Procfile脚本将设置一个本地示例集群。使用以下命令启动:

goreman start

这将启动3个etcd成员infra1infra2infra3,以及可选的etcd grpc-proxy,它们在本地运行并组成一个集群。

每个集群成员和代理都接受键值读取和键值写入。

按照Procfile脚本中的注释向集群添加一个learner节点。

安装etcd客户端v3

go get go.etcd.io/etcd/client/v3

下一步

现在是深入了解完整etcd API和其他指南的时候了。

  • 阅读完整[文档]。
  • 查看etcd[常见问题]。
  • 探索完整的gRPC [API]。
  • 设置[多机集群][clustering]。
  • 了解[配置格式、环境变量和标志][configuration]。
  • 查找[语言绑定和工具][integrations]。
  • 使用TLS[保护etcd集群][security]。
  • [调优etcd][tuning]。

联系方式

社区会议

etcd贡献者和维护者每周四上午11:00(美国太平洋时间)召开会议,会议在社区会议和问题分类会议之间交替进行。会议议程记录在[共享Google文档][shared-meeting-notes]中,欢迎大家提出额外主题或其他议程。

问题分类会议旨在处理我们的PR和Issues积压。分类会议对任何贡献者开放;你不必成为审核者或批准者就可以提供帮助!这也可能是开始贡献的好方法。

会议主持人角色在etcd维护者或sig-etcd负责人之间轮换,并记录在[共享Google表格][shared-rotation-sheet]中。

会议录像上传到官方etcd [YouTube频道]。

通过加入etcd-dev邮件组获取日历邀请。

加入CNCF资助的Zoom频道: zoom.us/my/cncfetcdproject

贡献

有关设置开发环境、提交补丁和贡献工作流程的详细信息,请参阅CONTRIBUTING

请参阅community-membership.md了解成为etcd项目成员的信息。我们欢迎并期待您对项目的贡献!

请同时参考路线图,了解未来几个主要或次要版本的优先事项详情。

报告错误

有关报告任何问题的详细信息,请参阅报告错误。在开issue之前,请检查它是否已在我们的[常见问题]中涉及。

报告安全漏洞

有关如何报告安全漏洞以及etcd团队如何管理它的详细信息,请参阅安全披露和发布流程

问题和PR管理

有关如何管理问题的详细信息,请参阅问题分类指南

有关如何管理拉取请求的指南,请参阅PR管理

etcd荣誉维护者

这些荣誉维护者在其职业生涯中致力于etcd,审查代码、分类错误并在很长一段时间内推动项目向前发展。我们非常感谢他们的贡献。

  • Fanmin Shi
  • Anthony Romano
  • Brandon Philips
  • Joe Betz
  • Gyuho Lee
  • Jingyi Hu
  • Xiang Li
  • Ben Darnell
  • Sam Batschelet
  • Piotr Tabor
  • Hitoshi Mitake

许可证

etcd采用Apache 2.0许可证。有关详细信息,请参阅LICENSE文件。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号