ETCD(一)简介

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: ETCD(一)简介

1. ETCD是什么

etcd 是一个分布式键值对存储,设计用来可靠而快速的保存关键数据并提供访问。和数据库一样都是用来存数据的,但是etcd有自己的特点,因此有自己的使用场景。

2. etcd 特点

  1. 完全复制,集群中的每个节点均拥有全量数据
  2. 强一致性,etcd通过raft共识算法保证集群数据的一致性
  3. 数据结构简单,仅字符串格式
  4. 可存储的数据量较少
  5. 主要是考虑强一致性,写入速度相对redis慢很多。

3. etcd的使用场景

  1. 服务注册与服务发现
  2. 分布式配置中心 (通过watch来监听一组key值的变化)
  3. 分布式锁
  4. 分布式选主
  5. 读多写少的场景

最重要的场景还是在分布式配置场景中,以及服务注册和服务发现。因为ETCD的强一致性的特点,我们在配置分布式集群时使用到的配置文件信息,例如IP、端口等信息可以放在etcd中,当有新的服务Server出现,或者集群有服务配置修改,我们其他节点都能马上收到信息去处理。

在分布式场景中还有zookeeper也使用的非常多,和etcd是一样的作用。zookeeper使用的场景,etcd都可以使用。zookeeper比较早,所以很多主流的分布式框架都用的zookeeper,比如kafka。而etcd算是后起之秀,未来可期。etcd相对于zookeeper性能更好。zookeeper是Java系的,而etcd是go语言的,也需要看应用场景来考虑使用哪个。

架构图

  1. Leader:Raft算法中通过竞选而产生的处理所有数据提交的节点
  2. Follower:竞选失败的节点作为Raft中的从属节点,为算法提供强一致性保证
  3. BoltDB:一个支持事务的KV存储引擎,用于对ETCD数据的持久化,支持并发读事务,串行写事务
  4. WAL 预写式日志:etcd中的数据提交都会先记录到日志,日志成功后才会做数据持久化
  5. Snapshot,快照:防止WAL日志过多,用于存储某一时刻etcd的所有数据,可用于节点故障恢复(比如每产生1w次提交,即写1w次日志,做一次快照)
  6. gRPC Server:节点与节点,节点与客户端通过gRPC 通信和信息同步,每个节点都是一个gRPC 服务器
  7. Raft:共识算法,etcd数据强一致性的保障
  8. Client:etcd客户端,可以是命令行客户端 etcdctl ,也可以是各个语言版本的client库,可通过grpc与http与server端通信
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
存储 JSON NoSQL
ETCD教程-4.深入ETCD
目前etcd主要经历了3个大的版本,分别为etcd 0.4版本、etcd 2.0版本和etcd 3.0版本。
877 0
ETCD教程-4.深入ETCD
|
运维
ETCD系列之一:简介
本文介绍etcd使用场景,工作原理。
76737 3
|
3月前
|
存储 监控 算法
[etcd]简介与安装
[etcd]简介与安装
|
6月前
|
存储 算法 开发者
etcd入门指南
etcd入门指南
383 4
etcd入门指南
|
数据可视化 Ubuntu Go
etcd源码分析 - 0.搭建学习etcd的环境
如果要更深入地研究etcd,就需要我们涉及到源码、并结合实践进行学习。那么,接下来,我将基于`v3.4`这个版本,做一期深入的环境搭建。
96 0
|
存储 负载均衡 监控
Etcd 认识第二篇
etcd的整体架构 - 客户端层 - Clientv3/etcdctl客户端。用户通过命令行或者客户端调用api方式调用使用 - 客户端层提供负载均衡和节点间故障转移等特性
201 0
|
NoSQL 安全 Redis
etcd 实战基础篇(二)
etcd 实战基础篇(二)
257 0
etcd 实战基础篇(二)
|
存储 设计模式 缓存
etcd 实战基础篇(一)
etcd 实战基础篇(一)
366 0
etcd 实战基础篇(一)
|
存储 API DataX
netcdf入门(转)
一、概述  NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,对程序员来说,它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。
1533 0
|
存储 监控 算法
ETCD教程-1.ETCD介绍
etcd是一个Go言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值存储、配置共享和服务发现等功能
581 0
ETCD教程-1.ETCD介绍