[转帖]etcd网络模块解析
https://www.cnblogs.com/luohaixian/p/17509742.html
1. RaftHttp模块介绍
1.1. 整体结构图

1.2. 关键数据结构分析

2. 关键流程分析
2.1. raftExample的网络模块初始化

2.2. 启动peer流程

2.3. streamWriter启动流程

2.4. streamReader启动流程

3. 传输格式
3.1. msgApp格式

3.2. msgAppV2格式
3.2.1. linkHeartbeatMessage类型的消息
3.2.2. 数据格式是msgTypeAppEntries的

3.2.3. 非linkHeartbeatMessage和msgTypeAppEntries格式
4. 网关URL映射处理逻辑
|
URL前缀
|
映射处理对象
|
请求举例
|
说明
|
|
/raft
|
pipelineHandler
|
POST /raft
|
只接收POST请求,接收数据后反序列化为Message对象,然后传入到raft模块处理
|
|
/raft/probing
|
probingHandler
|
GET /raft/probing
|
收到请求后响应消息,并且带上当前响应时间戳,表示探测成功
|
|
/raft/stream/
|
streamHandler
|
GET /raft/stream/message/{localID}(V1的格式)
GET /raft/stream/msgapp/{localID}(V2的格式)
|
只接收GET请求,用来建立stream网络连接
|
|
/raft/snapshot
|
snapHandler
|
POST /raft/snapshot
|
只接收POST请求,接收到数据后反序列化为Message对象,检查消息类型是否为快照类型,如果不是则返回错误信息,如果是则保存快照数据到本地并传到raft模块进行处理
|
[转帖]etcd网络模块解析的更多相关文章
- [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图
MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...
- [转帖]overlay文件系统解析
overlay文件系统解析 来源:http://dockone.io/article/1511 原作者: 陈爱珍 布道师@七牛云 一个 overlay 文件系统包含两个文件系统,一个 upper 文件 ...
- [转帖]Redis性能解析--Redis为什么那么快?
Redis性能解析--Redis为什么那么快? https://www.cnblogs.com/xlecho/p/11832118.html echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加e ...
- [转帖]深入浅出全面解析RDMA
深入浅出全面解析RDMA 置顶 2018年06月04日 11:36:54 MasterT-J 阅读数 17193更多 所属专栏: RDMA RDMA(RemoteDirect Memory Acc ...
- [转帖]etcd 在超大规模数据场景下的性能优化
etcd 在超大规模数据场景下的性能优化 阿里系统软件技术 2019-05-27 09:13:17 本文共5419个字,预计阅读需要14分钟. http://www.itpub.net/2019/ ...
- UE4网络模块解析(一)
一. UE4网络架构 Server-Client构架 1.一个服务器,一个或多个客户端. 客户端所有的操作如击杀等都需要传到中央服务器来运算,得到的运算结果下发到各个客户端.服务器是UE4多人游戏的重 ...
- 深入浅出etcd系列 – 心跳和选举
作者:宝爷 校对:DJ 1.绪论 etcd作为华为云PaaS的核心部件,实现了PaaS大多数组件的数据持久化.集群选举.状态同步等功能.如此重要的一个部件,我们只有深入地理解其架构设计和内部工作机制, ...
- 深入浅出etcd系列Part 1 – etcd架构和代码框架
1.绪论 etcd作为华为云PaaS的核心部件,实现了PaaS大多数组件的数据持久化.集群选举.状态同步等功能.如此重要的一个部件,我们只有深入地理解其架构设计和内部工作机制,才能更好地学习华为云Ku ...
- Centos 7.5私有域名服务器部署(coredns+etcd)
单机配置: 一.安装etcd: 1.安装 yum install etcd -y 2.启动 systemctl start etcd 3.设置开机启动 systemctl enable e ...
- ETCD:gRPC命名与发现
原文地址:gRPC naming and discovery etcd提供一个gRPC解析器支持备用的命名系统,该命名系统从etcd获取主机以发现gRPC服务.以下机制基于监视对以服务名称为前缀的Ke ...
随机推荐
- CF1340F Nastya and CBS 题解
题目大意 给定一个长度为 \(n(n \le 10 ^ 5)\) 的括号序列.要求支持两个操作: 修改某个位置的括号. 询问 \([l, r]\) 区间内的括号序列是否合法. 题目分析 显然,这道题是 ...
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 12.认识GamePlayTag, 实现技能的互斥
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本篇文章对应Lecture 17 - GameplayTags, 67.67节.本文将会讲述UE4中Gamepl ...
- Spring表达式语言(SPEL)学习(02)
构造数组 /** * 数组生成 */ @Test public void test5(){ int[] numbers1 = (int[]) parser.parseExpression(" ...
- 2023-11-15:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵, 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5
2023-11-15:用go语言,如果一个正方形矩阵上下对称并且左右对称,对称的意思是互为镜像, 那么称这个正方形矩阵叫做神奇矩阵, 比如 : 1 5 5 1 6 3 3 6 6 3 3 6 1 5 ...
- Triple DES 加密解密技术解析
摘要:本文介绍了Triple DES加密解密技术,通过实例演示了加密和解密过程,并对算法原理进行了简要分析.同时,探讨了Triple DES在现代信息安全领域的应用和局限性. 3DES(Triple ...
- flutter弹窗
AlertDialog: 优点:Material风格的弹窗,具有灵活的布局和样式自定义能力.易于使用,并提供了标题.内容和操作按钮的选项. 缺点:对于复杂的自定义布局和样式可能不够灵活. Bottom ...
- row_number函数的不稳定性
本文分享自华为云社区<row_number函数的不稳定性>,作者: nullptr_ . row_number为窗口函数,用来为各组内数据生成连续排号 基础用法 postgres=# se ...
- 基于DMS的数仓智能运维服务,知多少?
摘要:GaussDB(DWS)使用DMS来承载数据库的智能运维体系,提供了数据库运维过程中的监控,分析,处理三大核心处理过程. 本文分享自华为云社区<GaussDB(DWS) 数据库智能监控运维 ...
- Datahub新版本0.9.1更新,列级别数据血缘功能发布!
大家好,我是独孤风. 近期Datahub进行了一次大的版本更新,从0.9版本以后Datahub也正式发布了列级别数据血缘的功能. 0.9.1版本又增加了,列的影响分析这个功能. 这样Datahub对于 ...
- appuploder全过程使用教程(Windows版本)
转载:使用appuploader工具流程(Windows版本) 一.登录apple官网,注册账号 1.注册苹果账号 Sign In - Apple 2.登录开发者中心 ,出现协议弹框,同意即可. 二. ...