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

【后端】RPC

不定期更新。


  • 定义
    RPC 是 Remote Procedure Call 的缩写,中文通常翻译为远程过程调用。
  • 作用
  1. 简化分布式系统开发。
  2. 实现微服务架构,便于模块化、复用。
  3. 提高系统性能和可伸缩性。提供高性能通信、负载均衡、容错重试机制。

在现代分布式系统、微服务架构中,服务之间需要频繁通信。如果服务间的通信效率低下,会严重影响整个系统性能和响应时间。

  1. 跨语言/跨平台通信,语言无关性。
  2. 对分布式服务进行统一管理和运维。
  • 核心思想
    RPC 是一种进程间通信(IPC Inter-Process Communication)技术,允许一个计算机程序在不了解底层网络技术的情况下,调用另一个地址空间(通常是另一台计算机上的程序)中的子程序或函数。
    一句话总结:调用远程计算机上的函数或方法,就像调用本地函数一样简单。
  • 原理
    客户端(Client) 调用本地的某个函数(这个函数在内部会做一些特殊处理)。
    这个本地函数会把参数进行编码(Marshalling/Serialization),把数据转换成可以通过网络传输的格式(例如 JSON, XML, Protobuf 等)。
    编码后的请求通过网络传输到服务端(Server)。
    服务端接收到请求后,对数据进行解码(Unmarshalling/Deserialization),还原成原始参数。
    服务端根据请求找到对应的远程函数,并执行它。
    远程函数执行完毕后,将结果进行编码。
    编码后的结果通过网络传输回客户端。
    客户端接收到结果后,进行解码,并将结果返回给最初调用的本地函数。
  • 常用高性能RPC框架
    gRPC (Google 开发,基于 HTTP/2 和 Protobuf)
    Dubbo (阿里巴巴开源,Java 生态常用)
    Thrift (Apache 开源,支持多种语言)
    ServiceMesh 技术 (如 Istio、Envoy,在基础设施层面提供了 RPC 增强能力)
http://www.lryc.cn/news/2404158.html

相关文章:

  • 详细讲解Flutter GetX的使用
  • ReLU 新生:从死亡困境到强势回归
  • tensorflow image_dataset_from_directory 训练数据集构建
  • QuickJS 如何发送一封邮件 ?
  • clickhouse 和 influxdb 选型
  • GOOUUU ESP32-S3-CAM 果云科技开发板开发指南(一)(超详细!)Vscode+espidf 通过摄像头拍摄照片并存取到SD卡中,文末附源码
  • C++学习思路
  • 全流程开源!高德3D贴图生成系统,白模一键生成真实感纹理贴图
  • 使用Conda管理服务器多版本Python环境的完整指南
  • html 滚动条滚动过快会留下边框线
  • 数据通信与计算机网络——数据与信号
  • 【LLM大模型技术专题】「入门到精通系列教程」LangChain4j与Spring Boot集成开发实战指南
  • Flask 基础与实战概述
  • 东芝Toshiba e-STUDIO2110AC打印机信息
  • Vue3 GSAP动画库绑定滚动条视差效果 绑定滚动条 滚动条动画 时间轴
  • grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
  • git commit 执行报错 sh: -/: invalid option
  • uniapp 设置手机不息屏
  • 【题解-洛谷】B3622 枚举子集(递归实现指数型枚举)
  • (LeetCode 每日一题)3170. 删除星号以后字典序最小的字符串(贪心+栈)
  • Protobuf 中的类型查找规则
  • Python项目中添加环境配置文件
  • 【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响
  • IOS 打包账号发布上传和IOS Xcode证书配置
  • 使用 HTML + JavaScript 实现文章逐句高亮朗读功能
  • 【CSS-4】掌握CSS文字样式:从基础到高级技巧
  • 双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
  • 3. 简述node.js特性与底层原理
  • OpenCV CUDA模块图像处理------创建一个模板匹配(Template Matching)对象函数createTemplateMatching()
  • 【Kubernetes】K8s 之 ETCD - 恢复备份