我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

本篇内容介绍了“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

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

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

vuex中有哪些使用场景

这篇文章将为大家详细讲解有关vuex中有哪些使用场景,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使
2023-06-14

java可重入锁的使用场景有哪些

可重入锁是指同一个线程可以多次获得同一把锁,在释放锁之前需要释放相同次数的锁。可重入锁的使用场景包括:1. 递归函数:当一个递归函数需要获取锁来保护共享资源时,可重入锁可以允许递归函数多次获取同一把锁。2. 锁的嵌套:当一个方法A获得了锁之
2023-09-11

java中SPI的使用场景有哪些

这期内容当中小编将会给大家带来有关java中SPI的使用场景有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现
2023-06-14

java中ThreadLocal的使用场景有哪些

今天就跟大家聊聊有关java中ThreadLocal的使用场景有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。常用的java框架有哪些1.SpringMVC,Spring Web
2023-06-14

Java中WeakHashMap的使用场景有哪些

Java中WeakHashMap是一种可以自动删除不再使用的键值对的Map实现,它的使用场景包括:1. 缓存:WeakHashMap适用于缓存实现中,当缓存的对象不再被其他对象引用时,WeakHashMap会自动删除该缓存对象,从而释放内存
2023-09-29

JavaScript中this的使用场景有哪些

本篇文章给大家分享的是有关JavaScript中this的使用场景有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JavaScript是什么JavaScript是一种直译式
2023-06-14

redis中set的使用场景有哪些

Redis中的Set数据结构常用于以下场景:1. 去重:Set中的元素是唯一的,可以用来存储一组唯一的值,比如用户的标签、IP地址等。2. 计数:Set中的元素不重复,可以用来统计某个事件的不同用户数、不同IP数等。3. 关联关系:Set中
2023-09-04

redis中hash的使用场景有哪些

存储对象的属性和值:可以将一个对象的属性和值存储在一个hash中,方便对对象进行存储和检索。缓存数据:可以将一些需要频繁访问的数据存储在hash中,以提高访问速度。计数器:可以使用hash来实现一个计数器,对某个事件的数量进行统计。用户信息
redis中hash的使用场景有哪些
2024-04-03

android中广播的使用场景有哪些

在Android中,广播(Broadcast)的使用场景包括以下几种:1. 系统级广播:系统级广播是由Android系统发送的广播,可以用于监听系统级事件,如设备启动、网络状态变化、电池电量变化等。2. 自定义广播:开发者可以自定义广播,并
2023-09-04

Java中线程池的使用场景有哪些

今天就跟大家聊聊有关Java中线程池的使用场景有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 一、如下方式存在的问题new Thread() { @Override
2023-06-16

linux中lscpu命令的使用场景有哪些

查看系统中CPU相关信息:使用lscpu命令可以查看系统中CPU的相关信息,包括CPU型号、架构、核心数、线程数、缓存大小等。查看系统中的NUMA节点信息:lscpu命令还可以查看系统中的NUMA节点信息,包括节点数量、节点间的亲和性等。
linux中lscpu命令的使用场景有哪些
2024-03-07

MongoDB中hash索引的使用场景有哪些

存储密码:在用户认证系统中,通常会将用户的密码存储为哈希值,以增加安全性。使用哈希索引可以加快对密码的查找速度。数据去重:在数据中存在重复值的情况下,可以使用哈希索引来快速查找和去重重复数据。数据分片:在分布式系统中,可以使用哈希索引来对数
MongoDB中hash索引的使用场景有哪些
2024-04-19

python中下划线的使用场景有哪些

python中下划线的使用场景有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、_用于临时变量单下划线一般用于表示临时变量,在REPL、for循环和元组拆包等场景中比
2023-06-15

前端H5中Video的使用场景有哪些

这篇文章主要介绍前端H5中Video的使用场景有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.原生H5 video标签
2023-06-09

java中反射机制的使用场景有哪些

这期内容当中小编将会给大家带来有关java中反射机制的使用场景有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录