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

【后端】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.xdnf.cn/news/11804.html

相关文章:

  • Java设计模式深度解析:策略模式的核心原理与实战应用
  • unix/linux,sudo,其高级使用
  • 智能进化论:AI必须跨越的四大认知鸿沟
  • 第5篇《中间件负载均衡与连接池管理机制设计》
  • DuckDB + Spring Boot + MyBatis 构建高性能本地数据分析引擎
  • 测试面试题 手机号验证码登录测试用例
  • Python-多线程(一)
  • 网络编程及原理(一)
  • 协议融合驱动效能跃升:Modbus转Ethernet IP的挤出吹塑机应用
  • SSH登陆Linux常见问题大全
  • 分不清路由器、交换机、光猫的概念,一文带你迅速搞懂!!!
  • 黑客常备十大编程语言,每一个都不容易学,但每一个又很有用
  • Java String类(超级详细!)
  • linux mkfs命令参数及用法详解---linux格式化文件系统命令
  • 二叉排序树
  • 物联网应用技术综合实训室解决方案
  • 2021-03-14
  • 服务器基础知识全解(汇总版)
  • 电脑软件:键盘按键修改器——keytweak使用介绍
  • 最好的磁盘管理工具Acronis Disk Director Suite 10.0英文原版 + 注册机 + 使用图文介绍...
  • 电脑打印文件全部步骤_条码打印机的操作步骤
  • 【运维知识进阶篇】集群架构-阿里云配置HTTPS证书
  • 阅读这篇文章,彻底了解响应式网页设计
  • 取消a或input标签聚焦后出现虚线框
  • 11款相似图片搜索引擎推荐,以图搜图将不再是难事
  • TBase的入门
  • 从Java角度看区块链实践系列4:基于原理手写实现SHA-256算法以及Merkle树算法
  • mcafee 8.5杀毒软件下载、安装、配置详解教程
  • MATLAB命令大全1
  • Installshield 2008 汉化版