etcd概述 一个分布式,可信赖的键值对存储,用于分布式系统的最重要数据。 etcd特点
安装使用 直接下载编译后的可执行文件进行安装 下载地址:https://github.com/etcd-io/etcd/releases
使用apt安装包管理工具安装
etcd命令行接口使用 设置一个key的value
改变一个key的value
获取一个key的value
删除一个key节点
使用ttl设置key的生命周期,超过这个时间点该值没有被访问,就删除这个key
应用场景一:服务发现(Service Discovery) 服务发现要解决的也是分布式系统中最常见的问题之一,即在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听udp或tcp端口,并且通过名字就可以查找和连接。 应用场景二:消息发布与订阅在分布式系统中,最适用的一种组件间通信方式就是消息发布与订阅。 即构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。 通过这种方式可以做到分布式系统配置的集中式管理与动态更新。 应用场景三:分布式通知与协调这里说到的分布式通知与协调,与消息发布和订阅有些相似。都用到了etcd中的Watcher机制,通过注册与异步通知机制,实现分布式环境下不同系统之间的通知与协调,从而对数据变更做到实时处理。 应用场景四:分布式锁因为etcd使用Raft算法保持了数据的强一致性,某次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁。锁服务有两种使用方式,一是保持独占,二是控制时序。 |
|