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

关于RPC

1.什么是RPC

RPC(Remote Procedure Call),即远程过程调用(协议)。它允许像调用本地服务一样调用远程服务,用于实现分布式系统中跨网络进行通信 的技术,是一种计算机通信协议。

RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-接受回应进行信息交互的系统。

与RPC(远程过程调用)相对应的是本地调用。

2.什么是RPC框架,有什么优点

RPC 框架基于 RPC 协议实现,允许一个程序(称为服务消费者)像调用自己程序的方法一样,调用另一个程序(称为服务提供者)的接口,而不需要了解数据的传输处理过程、底层网络通信的细节等。这些都会由 RPC 框架帮你完成,使得开发者可以轻松调用远程服务,快速开发分布式系统

优点:

  1. 高性能:RPC 框架通常采用高效的网络通信协议和序列化/反序列化机制。
  2. 有额外功能:如负载均衡、服务发现、容错机制等,能提高系统的可靠性、可用性和稳定性。
  3. 支持动态扩展:开发者可以动态扩展 RPC 的功能,比如自定义负载均衡器、自定义序列化协议等。

常见的RPC框架有:阿里的Dubbo,Google的gRPC,Facebook的Thrift

3. HTTP 与 RPC 之间的区别

严格来讲,HTTP 和 RPC 不是一个层面的东西:

  • HTTP 是一种应用层的协议,主要强调的是网络通信;
  • RPC,其是一种分布式系统之间通信的方式,强调的是服务之间的远程调用。
  • HTTP 主要用于 B/S 架构,而 RPC 更多用于 C/S 架构。但现在其实已经没分那么清了,B/S 和 C/S 在慢慢融合。

http://www.xdnf.cn/news/1127.html

相关文章:

  • 图数据库nebula测试指南
  • 在 NVIDIA Orin (JetPack 6.0) 上安装 PyTorch 2.4 + Torchvision 0.19
  • 每日算法-250422
  • 几种Word转换PDF的常用方法
  • 如何在idea里创建注释模版
  • 真我推出首款 AI 翻译耳机,支持 32 种语言翻译
  • 拥抱健康生活,开启养生之旅
  • Android Jetpack Compose基础实践
  • iscsi服务端安装及配置
  • 【Python爬虫基础篇】--3.cookie和session
  • Office文档图片批量提取工具
  • 异构网络环境下的切换策略研究
  • 边缘计算全透视:架构、应用与未来图景
  • 基于Java+MySQL实现(Web)企业仓库存储管理系统
  • 金融数据分析(Python)个人学习笔记(12):网络爬虫
  • 【产品经理从0到1】用户研究和需求分析
  • 从项目真实场景中理解二分算法的细节(附图解和模板)
  • nodejs使用require导入npm包,开发依赖和生产依赖 ,全局安装
  • 【HTML】【Web开发】滑动条挑战
  • 使用 Spring Boot Admin 通过图形界面查看应用配置信息的完整配置详解,包含代码示例和注释,最后以表格总结关键配置
  • Embedding与向量数据库__0422
  • 实验一-密码学数学基础
  • ​SYSTEM WAKE-UP(系统唤醒)​和外部中断唤醒(EXTI唤醒)
  • 建筑末端配电回路用电安全解决方案
  • 【数据结构 · 初阶】- 堆的实现
  • 抱佛脚之学SSM四
  • Redis—为何持久化使用子进程
  • 【Hive入门】Hive架构与组件深度解析:从核心组件到生态协同
  • Go语言中 defer 使用场景及深度注意事项指南
  • JavaFX实战:从零打造一个功能丰富的“猜数字”游戏