etcd

1, etcd特点:

答:etcd是coreos团队发起的开源项目,是一个管理配置信息和服务发现的项目。它的目标是构建一个高可用

分布式键值数据库,基于Go语言实现。

特点:

  • 简单:支持rest风格的http+json api
  • 安全:支持https方式的访问
  • 快速:支持并发1k/s的写操作
  • 可靠:支持分布式接口,基于raft的一致性算法,raft是一套通过选举主节点来实现分布式系统一致性的算法。

2,简述etcd适应的场景

答:etcd基于其优秀的特点,可广泛应用于以下场景:

  • 服务发现(service discovery):服务发现主要是解决同一个分布式集群中的进程或服务,要如何才能找到对方并简历链接。本质上来说,服务发现就是想要了解集群中是否有进程监听udp和tcp端口,并且通过名字就可以查找和连接。
  • 消息发布和订阅:在分布式系统中,最适用的一种组件间通信方式就是消息发布和订阅。即构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。通过这种方式可以做到分布式系统配置的集中管理与动态更新。应用中用到的配置信息放到etcds上进行集中管理。
  • 分布式通知和协调:与消息发布和订阅类型,都用到了etcd中的watcher机制,通过注册和异步通知机制,实现分布式环境下不通系统之间的通知和协调,从而对数据变更做到实时处理。
  • 分布式锁:因为etcd使用raft算法保持了数据的强一致性,某次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁。锁服务有两种使用方式,一是保持独占,二是控制时序。
  • 集群监控与leader竞选:通过etcd来进行监控实现起来非常简单并且实时性强。

 

posted @ 2022-09-22 14:44  年轻人——001  阅读(80)  评论(0编辑  收藏  举报