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

【RPC:分布式跨节点透明通信协议】【Raft:简单易实现的分布式共识算法】

文章目录

      • 一、RPC:分布式跨节点透明通信协议
        • 核心总结
        • RPC 核心信息表格
        • RPC 与类似通信协议对比表格
      • 二、Raft:简单易实现的分布式共识算法
        • 核心总结
        • Raft 核心信息表格
        • Raft 与类似共识算法对比表格
      • 三、RPC 与 Raft 核心差异对比表格

若对您有帮助的话,请点赞收藏加关注哦,您的关注是我持续创作的动力!有问题请私信或联系邮箱:funian.gm@gmail.com

RPC(远程过程调用)和 Raft(一种共识算法)是分布式系统中的两个核心技术,前者解决跨节点通信问题,后者解决分布式一致性问题,两者常结合使用(例如 Raft 节点间的交互依赖 RPC)。

在这里插入图片描述

一、RPC:分布式跨节点透明通信协议

核心总结

RPC(远程过程调用)的核心是隐藏网络通信细节,让跨节点调用像本地函数一样简单,主打微服务内部高吞吐、低延迟的同步通信,是分布式系统中服务间交互的核心工具。

RPC 核心信息表格
维度具体内容
核心目标跨节点透明调用,简化分布式服务间通信
核心组件客户端 Stub、服务端 Skeleton、网络传输层、序列化/反序列化模块、服务发现(可选)
传输协议主流基于 TCP(可靠传输),部分支持 UDP(轻量场景)
序列化方式Protobuf(高性能)、JSON(通用)、Hessian(Java 生态)、Thrift(跨语言)
典型框架gRPC、Dubbo、Thrift、Spring Cloud OpenFeign
适用场景微服务内部同步调用(如订单服务调用库存服务)、高吞吐低延迟的跨节点交互
优点调用简洁、性能优异、跨语言支持(部分框架)、适配复杂业务逻辑调用
缺点强依赖网络稳定性、服务耦合度高于消息队列、不适合异步解耦场景
RPC 与类似通信协议对比表格
通信协议/方式核心特点通信方式性能耦合度电商场景适配性
RPC(gRPC/Dubbo)透明函数调用,二进制传输,支持流式通信同步为主高(低延迟、高吞吐)中高核心服务同步交互(下单→库存→支付)
REST API基于 HTTP/HTTPS,资源导向,文本/JSON 传输同步为主中(开销略高)对外接口(APP/小程序调用)、跨系统轻量交互
WebSocket基于 HTTP 握手,全双工通信,支持实时推送异步实时高(长连接无重复握手)实时场景(订单状态推送、直播商品互动)
消息队列(Kafka/RabbitMQ)异步解耦,基于队列/主题分发消息,支持重试、削峰异步为主中(依赖队列存储)非核心异步场景(日志收集、消息推送、订单异步通知)

二、Raft:简单易实现的分布式共识算法

核心总结

Raft 的核心是通过“领导者选举+日志复制”机制,让分布式集群中多个节点对数据达成一致,兼顾容错性(允许半数以下节点故障)和易实现性,是分布式一致性领域的主流选择。

Raft 核心信息表格
维度具体内容
核心目标解决分布式节点数据一致性问题,保证集群故障时数据不丢失、行为一致
核心机制领导者选举、日志复制、任期机制、多数派确认(超过半数节点同意才生效)
角色划分领导者(Leader)、追随者(Follower)、候选人(Candidate)
容错能力支持半数以下节点故障(如 3 节点集群可容忍 1 节点故障,5 节点可容忍 2 节点)
典型应用etcd、Consul、TiDB PD、Redis Cluster(变种)
适用场景分布式配置中心、分布式锁、数据库主从同步、库存一致性存储
优点逻辑简单易实现、安全性高(日志完整性保障)、容错性强、收敛速度快
缺点依赖网络连通性(网络分区可能导致集群不可用)、不适合超大规模节点集群
Raft 与类似共识算法对比表格
共识算法核心特点复杂度选举机制容错性典型应用电商场景适配性
Raft领导者选举+日志复制,任期机制,多数派确认超时触发选举,多数投票胜出容忍半数以下节点故障etcd、Consul配置中心(如商品配置同步)、分布式锁(库存扣减)
Paxos基于提案-批准机制,无明确领导者(原始版本)提案需获得多数节点批准容忍半数以下节点故障Chubby、Google Spanner复杂分布式存储(如电商核心数据库分片)
ZAB(ZooKeeper Atomic Broadcast)基于 Raft 改进,领导者固定任期,支持崩溃恢复领导者选举+数据广播容忍半数以下节点故障ZooKeeper服务注册中心、分布式协调(如订单状态同步)
Gossip去中心化,节点随机同步数据,最终一致性无领导者,数据扩散式同步容忍任意节点故障(最终一致)Redis Cluster、Cassandra非核心数据同步(如商品浏览记录、统计数据)

三、RPC 与 Raft 核心差异对比表格

维度RPCRaft
技术定位分布式通信协议分布式共识算法
解决问题跨节点“如何调用”的通信问题跨节点“数据如何一致”的共识问题
核心逻辑封装网络交互,模拟本地调用选举领导者+同步日志,达成一致
依赖关系Raft 实现需依赖 RPC 完成节点通信不依赖 Raft,可独立使用
电商场景作用服务间同步交互(如下单→支付)核心数据一致性保障(如库存、配置)
http://www.dtcms.com/a/606527.html

相关文章:

  • 做网站用什么编程网站建设管理是
  • 网站建设有证书吗喀什网站建设公司
  • 建设局网站公示的规划意味着什么成都微信小程序商城
  • thymeleaf模板引擎
  • Git 命令 作用、常用选项、示例、何时使用与注意事项指南
  • 太原制作网站企业更换网站服务器
  • 深入理解 Python 的属性化方法
  • 北京网站备案拍照的地点河北建设厅网站开通账号
  • AI Agent记忆系统深度实现:从短期记忆到长期人格的演进
  • APScheduler入门:轻松掌握Python任务调度
  • LLMs之 Ranking:OpenRouter LLM Rankings的简介、安装和使用方法、案例应用之详细攻
  • 算法题(Python)链表篇 | 3.翻转链表
  • 找个免费的网站这么难吗用jsp做的二手交易网站
  • 网站后台申请邮箱手机网站 方案
  • 新站突然网站停止收录给公司做个网站多少钱
  • 【C语言实战:实现数组的重复拼接(动态内存+指针参数详解)】
  • wordpress文章付费可看温岭新站seo
  • React zustand todos案例(带本地存储localStorage、persist)todoStore.ts
  • mac配置 unity+vscode的坑
  • 极速网站推广专家wordpress综合网
  • 上海定制网站建设公司网站域名什么意思
  • 【OpenCV + VS】直方图与模糊操作
  • 代码随想录 435.无重叠区间
  • 【AVL树与红黑树】:告别“瘸腿”树,体验平衡的艺术
  • 智慧团建网站入口官网有什么做ppt的网站吗
  • 机器人“小脑”萎缩,何谈“大脑”智慧?六维力/关节力传感器才是“救命稻草”
  • 基于SpringBoot的图书馆管理系统的设计与实现
  • SpringCloud快速通关(中)
  • 性价比高的时序数据库哪个专业
  • 邵阳高端网站建设做响应式网站的物流