文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-04 11:31

关注

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

一:简介

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

Etcd的特点有:

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

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

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

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

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

二:Etcd使用场景

 服务发现

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

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

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

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


  


消息发布与订阅

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

负载均衡

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

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

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

b.通过etcd完成系统调度

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

c.通过etcd完成工作汇报

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

分布式锁与竞选

a.保持独占锁

b.控制时序锁

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

分布式队列

集群监控

 
三:Etcd架构

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

Etcd中涉及的术语有:

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

 Node:一个Raft状态机实例

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

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

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

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

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

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

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

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

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

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

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯