《Linux运维总结:基于Ubuntu 22.04+x86_64架构CPU部署etcd 3.5.15二进制分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、功能简介

1、什么是etcd

etcd 是一个分布式、可靠的键值存储系统,用于分布式系统中存储关键核心数据。它由 CoreOS 开发,并且是开源的,授权协议为 Apache 许可证。etcd 内部采用了 Raft 一致性算法,可以实现配置共享和服务发现。 etcd中文文档可参考如下:Etcd 中文文档或者Etcd官方文档中文版

2、etcd 的主要特性包括:

1、简单:安装配置简单,提供了 HTTP API 进行交互,使用也很简单。
2、键值对存储:将数据存储在分层组织的目录中,类似于标准文件系统。
3、监控变更:可以监视特定的键或目录以检测更改,并对值的更改作出反应。
4、 支持TLS客户端安全认证
5、性能:单实例(V3)支持每秒10KQps。
6、可靠: 使用 Raft 算法充分保证了分布式系统数据的强一致性
7、默认情况下,etcd 会将数据更新持久化到磁盘上。
8、使用 Go 语言编写,易于部署和维护。

3、典型应用场景:

1. 服务注册与发现:在微服务架构中,etcd 可以作为服务发现的服务注册中心。
2. 配置管理:存储和管理应用程序的配置信息。
3. 消息发布与订阅:使用 etcd 的 watch 机制来实现消息的发布与订阅模式。
4. 分布式通知与协调:用于在分布式系统中实现通知和协调逻辑。
5. 分布式锁:利用 etcd 实现分布式锁,确保分布式系统中资源的互斥访问。

4、有2个著名开源项目使用etcd

1、Kubernetes (K8s):Kubernetes 使用 etcd 作为其核心存储系统,用于存储集群的状态信息,如节点、Pods、Services、Volumes 等。Kubernetes 依赖 etcd 来保证其状态的一致性和高可用性。
2、CoreDNS: CoreDNS 是一个灵活且可扩展的 DNS 服务器,它使用 etcd 作为数据存储后端之一。CoreDNS 可以通过 etcd 插件来实现动态的 DNS 记录更新。

5、etcd、Zookeeper 和 Consul对比

特性/工具 etcd zookeeper Consul
一致性模型 强一致性 (Raft) 强一致性 (ZAB) 最终一致性 (可配置为强一致性)
扩展性 良好,适合大量键值对 良好,但在大量数据时可能遇到性能瓶颈 可能遭受高延迟和内存压力
功能和易用性 API 简洁,易于使用 功能强大,支持多种高级特性 API 设计友好,易于集成
服务发现 支持服务发现 支持服务发现 专门设计用于服务发现
健康检查 不直接支持 不直接支持 支持健康检查
安全性 支持客户端证书验证 支持安全配置 支持 TLS 和 ACLs
多数据中心 支持多数据中心配置 支持多数据中心配置 原生支持多数据中心配置
语言和生态 使用 Go 语言,广泛的客户端库支持 使用 Java 编写,适合 Java 应用程序 使用 Go 语言,支持多种语言的客户端库
社区和生态 活跃的社区,是 Kubernetes 的一部分 历史悠久,庞大的用户基础 良好的文档和社区支持
性能 在处理大量键值对时表现出色 在某些场景下提供了更好的最小延迟 性能取决于使用场景
使用场景 配置管理、服务注册和发现等场景 复杂协调服务 服务发现、健康检查和配置管理等场景

二、部署说明

1、环境信息

主机IP 节点 操作系统 内核版本 etcd版本
192.168.1.111 etcd-1 Ubuntu 22.04.4 LTS
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值