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作为传输协议

相关推荐
紧跟先前的步伐41 分钟前
Go AI Agent 实战 08|HTTP 模型 API 的工作原理与请求流程
人工智能·http·ai·golang
syagain_zsx1 小时前
WebSocket 教程:websocketpp 写 echo 服务端
linux·网络·c++·websocket·网络协议·工具库
大泽九章4 小时前
HTTP协议安全入门:从请求走私到CRLF
网络协议·安全·http
zxanz14 小时前
多域名、泛域名 SSL 怎么选?避开证书采购的溢价陷阱
服务器·网络协议·ssl
似是燕归来4 小时前
Rtthread OS 功能开发之 socket tcp协议程序开发
网络·网络协议·tcp/ip·rtthread
肖永威4 小时前
python版微电网仿真工具的前端托管选型:从http.server到FastAPI StaticFiles
前端·python·http·fastapi
byte轻骑兵4 小时前
【LMP】规范精讲[6]: 从陌生到互信——安全简单配对(SSP)的四步握手
网络协议·蓝牙协议·lmp·蓝牙链路管理
AbandonForce4 小时前
Linux 网络:HTTP(一)基础与报文结构
linux·网络·http
2301_777998348 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
昂好的day15 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#