etcd raft 处理流程图系列1-raftexample

简介: etcd raft 处理流程图系列1-raftexample

最近在看raft相关的代码和实现,发现etcd的raft模块在实现上还是比较灵活的,但缺点就是需要用户实现比较多的功能,如存储和网络等,同时带来的优点就是不会对用户的存储和传输作限制。网上对该模块的描述也比较多,这里我主要根据代码画出简易的处理逻辑,代码逻辑可以参考这里(后续流程图也会按照这个系列的讲解顺序来)。


该例子给出了etcd raft处理的总体架构图,但并不涉及raft处理的细节,绿底部分为raft节点的server,右下侧为需要用户实现的存储和传输层。右上侧为对外的Http server,处理添加新表项、增加/移除raft节点等,并通过不同的channel与raft server进行交互。


下面官方给出的例子的处理逻辑:

原图地址:raftexample

参考

etcd-raftexample-源码简析

目录
相关文章
|
监控 测试技术 API
【开发规范】Breaking change 破坏性变更
【1月更文挑战第26天】【开发规范】Breaking change 破坏性变更
|
Kubernetes 测试技术 容器
实践 Fake ClientSet 单元测试
在 Kubernetes 相关的开发中,client-go 是最常用的,对于 client-go 相关的代码我们可以通过 fake ClientSet 来编写单元测试,本文将实践利用 fake ClientSet
2012 0
|
运维 Kubernetes NoSQL
使用 Kubernetes 进行 Leader 选举
k8s 简化了我们在集群上部署、运维应用的流程。在 k8s 上,我们可以很方便地部署一个分布式应用。以 Deployment 为例,应用就由多个 Pod 组成,基于 Pod 的伸缩能力,应用天然就具备应用的高可用性和可扩展性。但在分布式系统中,通常我们需要指定其中一个 Pod 为 leader,负责协调所有 Pod 或执行特定任务。
2263 0
|
存储 算法 开发工具
学习分享|Etcd/Raft 原理篇
本文是根据近期对 Etcd-Raft 的学习把自己的理解做个简单整理和分享。
|
存储 缓存 索引
etcd raft 处理流程图系列3-wal的存储和运行
etcd raft 处理流程图系列3-wal的存储和运行
226 1
|
缓存 JSON 数据格式
etcd raft 处理流程图系列3-wal的读写
etcd raft 处理流程图系列3-wal的读写
187 1
|
存储 安全 Shell
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
【Shell 命令集合 磁盘维护】Linux 检测和识别硬盘或文件系统中的坏块 badblocks命令使用教程
658 0
|
测试技术 程序员 开发工具
Git 最佳实践:分支管理
5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践。最后我为团队选择了这个git分支管理实践 A successful Git branching model ,网上有不少参考这篇文章写的中文版gitflow实践,推荐一个中文版的Git 最佳实践:分支管理。
16411 0
|
Linux 开发工具 Android开发
Android Studio 安装教程 下载最新版 Windows(详细步骤)2021.2.1版本最新版
Android Studio 安装教程 下载最新版 Windows(详细步骤)2021.2.1版本最新版
|
开发工具 git C++
【Git】stash 仅贮存指定文件的修改
如何使用 git stash 贮存单个或多个文件
4978 0

热门文章

最新文章