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-源码简析

目录
相关文章
|
移动开发 数据格式 XML
Http协议中的Header与Body
Http协议中的Header与Body Header的每行最后要加\r\n Header与Body之间要用\r\n隔开 Body后无需加\r\n ACSII码中 '\n' 10 换行 '\r' 13 回车 也可以表示为'\x0a'和'\x0d'.(16进制) 示例:HTTP开始部分为header,部分为body。
3146 0
|
3月前
|
存储 Java 中间件
分布式协调双雄深度拆解:ZooKeeper 与 Nacos 从底层原理到生产实战全指南
本文深度解析ZooKeeper与Nacos两大分布式协调中间件:ZooKeeper专注强一致协调,基于ZAB协议与ZNode模型,适用于大数据生态;Nacos则提供AP/CP双模、三层数据隔离及长轮询机制,是云原生下配置中心+服务发现的一站式选择。二者核心能力、架构差异与选型建议全面对比,附生产实践与避坑指南。
1311 6
|
4月前
|
存储 自然语言处理 数据库
别再二选一了:高手都在用的微调+RAG混合策略,今天一次讲透
本文厘清RAG与微调的本质差异:RAG是为模型配“资料员”,解决知识时效与可解释性;微调是为模型“塑性格”,专注行为定制与推理能力。二者非对立,而是互补——真实落地宜采用“RAG管知识、微调管能力”的混合策略,兼顾灵活性与专业性。
|
缓存 网络协议 Unix
Linux IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO
IO概念 Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。
3328 0
JUC并发—15.红黑树详解
本文主要介绍了目录红黑树的定义性质和推论、红黑树的旋转操作、红黑树之添加结点的方法和红黑树之删除结点的方法。
JUC并发—15.红黑树详解
|
存储 算法 开发工具
学习分享|Etcd/Raft 原理篇
本文是根据近期对 Etcd-Raft 的学习把自己的理解做个简单整理和分享。
|
调度 开发者
核心概念解析:进程与线程的对比分析
在操作系统和计算机编程领域,进程和线程是两个基本而核心的概念。它们是程序执行和资源管理的基础,但它们之间存在显著的差异。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
637 4
|
Linux C语言
Linux系统下获取系统的CPU占用率(C语言代码)
Linux系统下获取系统的CPU占用率(C语言代码)
2369 0
Linux系统下获取系统的CPU占用率(C语言代码)
etcd raft 处理流程图系列2-transport
etcd raft 处理流程图系列2-transport
177 2
|
存储 算法 开发工具
Etcd/Raft 原理问题之Etcd-Raft是什么
Etcd/Raft 原理问题之Etcd-Raft是什么
249 2