RPC和HTTP,它们之间到底啥关系

既然有 HTTP 请求,为什么还要用 RPC 调用?
gPRC 为什么使用 HTTP/2

Spring Cloud 默认是微服务通过Restful API来进行互相调用各自微服务的方法,同时也支持集成第三方RPC框架(这里的说的RPC是特指在一个应用中调用另一个应用的接口而实现的远程调用,即红色框所指的范围。)

Restful API底层采用HTTP作为通信协议
Spring Cloud 为了编码的方便(编程的优雅),使用了Feign。

Feign is a declarative web service client. It makes writing web service clients easier.

RPC(远程过程调用)是一个广泛应用的概念,它描述了一种通过网络从远程计算机程序上请求服务的机制,而不需要了解底层网络技术的细节。

RPC可以在不同的层次上实现,包括操作系统的进程间通信(IPC)和网络中不同主机间的服务调用。

RPC的实现通常遵循一种设计风格,即将函数或方法调用的参数和名称封装起来 ,然后通过网络发送到远程系统上执行。

这种设计风格与RESTful架构形成对比,后者通常使用HTTP作为传输协议,并且利用URI来表示资源,通过HTTP方法(如GET、POST、PUT、DELETE等)来表示操作,并且通常将参数通过查询字符串或请求体传递。

RPC框架也可以使用HTTP协议作为传输协议,比如grpc采用http 2.0作为传输协议

相关推荐
NEXT063 小时前
TCP 与 UDP 核心差异及面试高分指南
前端·网络协议·面试
NEXT063 小时前
HTTP 协议演进史:从 1.0 到 2.0
前端·网络协议·面试
axPpcfNN5 小时前
飞轮储能的硬核建模:当永磁同步电机遇上双闭环控制
rpc
苏渡苇6 小时前
轻量化AI落地:Java + Spring Boot 实现设备异常预判
java·人工智能·spring boot·后端·网络协议·tcp/ip·spring
一路往蓝-Anbo7 小时前
第 2 章:全能开发环境与交叉编译工具链构建
stm32·单片机·嵌入式硬件·网络协议
天若有情67310 小时前
我发明的 C++「数据注入模型(DWM)」:比构造函数更规范、更专业的结构体创建写法
开发语言·c++·rpc
hoududubaba11 小时前
ORAN级联模式中的多小区场景
网络·网络协议
funnycoffee12312 小时前
multicast 组播流必须用udp吗? tcp为何不行
网络协议·tcp/ip·udp·组播
Zach_yuan1 天前
数据链路层核心技术解析:以太网与ARP协议
服务器·网络·网络协议
天荒地老笑话么1 天前
Bridged 下 IP 冲突:冲突识别与修复
网络·网络协议·tcp/ip