当前位置: 首页 > news >正文

K8s中的ETCD存储机制

K8s中的ETCD存储机制

在这里插入图片描述

当客户端有请求发到Leader时

第1步:做预检查,会检查当前节点的配额是否还能写入数据,配额不足直接拒绝请求;会检查请求频率,触发限流则阻塞请求;会对请求做鉴权操作,权限不足或请求不合法则拒绝请求;同时会拒绝包大小超过1.5M的请求

第2步:会将通过预检查的请求转发到KVserver

第3步:KVserver会调用propose方法将请求发送到一致性模块,此时一致性模块会把该请求置于其raftLog的unstable集合中,并返回给KVserver一个ready的结构体

第4步:Leader会把该请求写入本地WAL二进制日志(unstable),执行fsync后变为stable;之后通过MsgApp RPC并发地发送给所有Follower;Follower收到Msgapp后类似的写入WAl日志并持久化后会向Leader发送MsgAppResp

第5步:当KVserver收到半数Follower的MsgAppResp,此时会将raftlog的请求的状态转到commited的状态,并应用到状态机,此时MVCC模块(多版本并发控制模块)会更新内存中的treeindex,该索引记录的是请求的key和revision映射关系和gerneration信息;同时把revision→(key, value, create/mod revision, version) 写入BoltDB,当需要读取key的值时,只需要在treeindex中匹配key和revison,匹配到就可以去Boltdb读到值,实现多版本并发控制

注:

1、(写请求到follower会转发到leader)

2、wal日志存在的意义:保证数据的一致性

wal日志存在的意义:保证数据的一致性

http://www.dtcms.com/a/434464.html

相关文章:

  • 【精品资料鉴赏】397页WORD详解智慧城市顶层设计方案
  • 16种粮食谷物分类数据集5300张17类别
  • 2025基于springboot的网上蛋糕销售系统
  • SSE是什么?SSE解决什么问题?在什么场景使用SSE?
  • 算法偏见的解药:将敏捷“灵魂”注入AI伦理
  • 基于前端+Node.js 的 Markdown 笔记 PDF 导出系统完整实战
  • lesson71:Node.js与npm基础全攻略:2025年最新特性与实战指南
  • 购买域名后 可以做网站么灰色关键词排名优化
  • 专业做家具的网站小程序注册方法
  • OWASP ZAP 工具安全测试介绍
  • Git介绍 常用命令
  • 教育机构作图:含拼团 / 课程封面模板,适配小程序
  • linux内核时间定时器延时
  • 远程安装vps相关软件记录
  • 山东高端网站建设方案宁波网站建设那家好
  • x86_64 centos7.2 上用aarch64-linux-gnu-gcc4.8.5交叉编译qt5.11.3
  • GLib线程池全面解析:原理、应用与性能优化
  • 东莞网站设计网址电影网站建设方案ppt模板下载
  • 51单片机-驱动LCD1602液晶显示屏教程
  • 【C++哲学】面向对象的三大特性之 多态
  • Python - 100天从新手到大师:第二十六天Python操作Word和PowerPoint文件
  • 算法基础 典型题 前缀和
  • 广告网站制作多少钱wordpress修改密码后还是登陆不了
  • 【MySQL】一篇讲透MySQL的MVCC机制!
  • 【开题答辩全过程】以 Web数据挖掘在电子商务中的应用研究为例,包含答辩的问题和答案
  • 网站界面美观度站长素材网站官网
  • 生活的方向,从来没有统一的标准答案——它不是一张固定的地图,也不是一条必须抵达的终点线,更像是你在行走中慢慢校准的“心之所向”。
  • 网站到期时间网站开发小图片
  • Git打tag标签
  • leetcode 494 目标和