ETCD介绍以及Go语言中使用ETCD详解

ETCD介绍以及Go语言中使用ETCD详解

什么是etcd

ETCD是一个分布式、可靠的key-value存储的分布式系统,用于存储分布式系统中的关键数据;当然,它不仅仅用于存储,还提供配置共享及服务发现;基于Go语言实现 。

etcd的特点

  • 完全复制:集群中的每个节点都可以使用完整的存档
  • 高可用性:Etcd可用于避免硬件的单点故障或网络问题
  • 一致性:每次读取都会返回跨多主机的最新写入
  • 简单:包括一个定义良好、面向用户的API(gRPC)
  • 安全:实现了带有可选的客户端证书身份验证的自动化TLS
  • 可靠:使用Raft算法实现了强一致、高可用的服务存储目录

etcd的应用场景

服务注册与发现

服务发现还能注册

服务注册发现解决的是分布式系统中最常见的问题之一,即在同一个分布式系统中,找到我们需要的目标服务,建立连接,然后完成整个链路的调度。

本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。要解决服务发现的问题,需要有下面三大支柱,缺一不可。

1、一个强一致性、高可用的服务存储目录。基于Raft算法的etcd天生就是这样一个强一致性高可用的服务存储目录。

2、一种注册服务和监控服务健康状态的机制。用户可以在etcd中注册服务,并且对注册的服务设置key TTL,定时保持服务的心跳以达到监控健康状态的效果

相关推荐

  1. ETCD介绍以及Go语言使用ETCD详解

    2024-07-22 18:24:01       19 阅读
  2. 处理goclientv3连接etcd包异常

    2024-07-22 18:24:01       50 阅读
  3. go-zero 开发之安装 etcd

    2024-07-22 18:24:01       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 18:24:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 18:24:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 18:24:01       45 阅读
  4. Python语言-面向对象

    2024-07-22 18:24:01       55 阅读

热门阅读

  1. C语言:再探C语言指针

    2024-07-22 18:24:01       22 阅读
  2. 安卓开发使用seekBar改变ImageView中图片的色彩

    2024-07-22 18:24:01       16 阅读
  3. matlab中feval()的用法

    2024-07-22 18:24:01       15 阅读
  4. 【Linux常用命令】之mkdir命令

    2024-07-22 18:24:01       17 阅读
  5. 在 macOS 上使用 Jadx 进行 APK 反编译

    2024-07-22 18:24:01       19 阅读
  6. C++生成随机数的两种方法

    2024-07-22 18:24:01       13 阅读
  7. Blazor Webassembly多标签页实现非iframe的实现

    2024-07-22 18:24:01       17 阅读
  8. Lianwei 安全周报|2024.07.22

    2024-07-22 18:24:01       21 阅读