新一代数据库之Etcd 简介

1、etcd介绍

etcd是Google公司使用Go语言开发的开源、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。

类似项目有zookeeper以及consul

etcd具有以下特点:

  • 完全复制:集群中的每个节点都可以使用完整的存档
  • 高可用性:Etcd可用于避免硬件的单点故障或网络问题
  • 一致性:每次读取都会返回跨多主机的最新写入
  • 简单:包括一个定义良好、面向用户的API(gRPC)
  • 快速:每秒10000次写入的基准速度
  • 可靠:使用Raft算法实现强一致性、高可用服务存储目录

2、etcd使用场景

2.1、配置中心

将一些配置信息放到etcd上进行集中管理。
这类场景方式通常是这样的:应用在启动到时候主动从etcd获取一次配置信息,同时在etcd节点上注册一个Watcher并等待,以后每次配置有更新的时候,etcd都会实时通知订阅者,以此达到获取最新配置信息的目的。

2.2、分布式锁

因为etcd使用Raft算法保持了数据的强一致性,其次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁,锁服务有两种使用方式,一时保持独占,二是控制时序。

原文地址:https://www.cnblogs.com/jasonminghao/p/12791305.html