Docker高可用配置中心Etcd使用场景有哪些

31次阅读
没有评论

共计 1840 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容介绍了“Docker 高可用配置中心 Etcd 使用场景有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一:简介

Etcd 是一个开源的分布式的键值存储库,用于配置共享和服务发现。通常以集群的形式进行部署,各工作节点会选出一个 leader 节点主导工作。通常用于存储数据库的连接配置,缓存配置,通用配置信息等。

Etcd 的特点有:

1.  简单:基于 HTTP+JSON 的 API,用 curl 命令就可以轻松使用

2.  安全: 可选 SSL 客户认证机制

3.  快速:每个实例每秒支持一千次写操作

4.  可信:使用 Raft 算法充分实现了分布式

Etcd 主要解决的是分布式系统中数据一致性的问题,而分布式系统中的数据分为控制数据和应用数据。Etcd 处理的数据默认为控制数据,对于应用数据,它只推荐处理数据量很小但访问频繁的情况。

二:Etcd 使用场景

1.  服务发现

在同一个分布式集群中的进程或服务,互相感知并建立连接,这就是服务发现。从本质上说服务发现就是要了解集群中是否有进程在监听 UDP 或 TCP 端口,并通过对应的字符串信息进行查找和连接。
解决服务发现的问题,需要以下几个方面:

a. 一个强一致性,高可用的服务存储目录

b. 一种注册服务和监控服务健康状态的机制

c. 一种查找和连接服务的机制

 

1. 消息发布与订阅

在分布式系统中,最适合的组件间通信方式是消息发布和订阅机制。具体而言,即构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们相关的主题,一旦相关主题有消息发布,就会实时通知订阅者。通过这种方式可以实现分布式系统配置的集中式管理和实时动态更新。

2. 负载均衡

3. 分布式通知与协调
使用 etcd 中的 Watcher 机制,通过注册与异步通知机制,实现分布式环境下不同系统之间的通知与协调,从而对数据变更进行实时处理。

a.  通过 etcd 进行低耦合的心跳检测

检测系统和被检测系统通过 etcd 上某个目录关联而非直接关联起来,这样可以大大减少系统的耦合性。

b. 通过 etcd 完成系统调度

管理人员在控制台做一些操作,实际上只需要修改 etcd 上某些目录节点的状态,etcd 就会自动把这些变化通知给注册了 Watcher 的推送系统客户端,推送系统再做出相应的推送任务。

c. 通过 etcd 完成工作汇报

大部分类似的任务分发系统会在子任务七朵花,到 etcd 来注册一个临时工作目录,并且定时将自己的进度进行汇报(即将进度写入到这个临时目录),这样任务管理者就能够实时知道任务进度。

4. 分布式锁与竞选

a. 保持独占锁

b. 控制时序锁

使用分布式锁可以完成 Leader 竞选,对于一些长时间的 CPU 计算或者使用 I / O 操作,只需要竞选出的 Leader 计算或处理一次,再把结果复制给其他 Follower 即可,从而避免重复劳动,节省计算资源。

5. 分布式队列

6. 集群监控

 
三:Etcd 架构

Etcd 中涉及的术语有:

1. Raft:etcd 所采用的保证分布式系统强一致性的算法

2. Node:一个 Raft 状态机实例

3. Member: 一个 etcd 实例,管理着一个 Node,可以为客户端请求提供服务

4. Cluster: 由多个 Member 构成的可以协同工作的 etcd 集群

5. Peer:对同一个 etcd 集群中另外一个 Member 的称呼

6. Client: 向 etcd 集群发送 HTTP 请求的客户端

7. WAL:预写式日志,是 etcd 用于持久化存储的日志格式

8. Snapshot : etcd 防止 WAL 文件过多而设置的快照,存储 etcd 数据状态

9. Proxy:etcd 的一种模式,为 etcd 集群提供反向代理服务

10.Leader: Raft 算法中通过竞选而产生的处理所有数据提交的节点

11.Follower: 竞选失败的节点作为 Raft 中的从属节点,为算法提供强一致性保证

12.Candidate:Follower 超过一定时间接收不到 Leader 的心跳时,转变为 Candidate 开始 Leader 竞选

13.Term: 某个节点成为 Leader 到下一次竞选开始的时间周期,成为一个 Term
14. Index: 数据项编号,Raft 中通过 Term 和 Index 来定位数据。

“Docker 高可用配置中心 Etcd 使用场景有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1840字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)