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

相关推荐
上海云盾-小余13 分钟前
业务被 DDoS 打崩?四层、七层攻击特征与防护方案复盘
网络·网络协议·tcp/ip·ddos
爱学习的程序媛15 小时前
ICMP协议详解
网络·网络协议·网络安全·通信协议·icmp·网络运维
隐擎fox15 小时前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
小林ixn18 小时前
跨域、SSE 与 WebSocket:从一次「请求被拦截」说起
websocket·http
captain3761 天前
网络原理(4)-TCP ▲▲▲
java·服务器·网络·网络协议·tcp/ip
代码中介商1 天前
C++ 预约系统实战(二):TCP + JSON 自定义协议设计
c++·网络协议
小此方1 天前
Linux网络(十一):HTTP重定向与请求方法详解:从301/302状态码到GET/POST,再认识Fiddler抓包
linux·网络·http
一个心烑1 天前
配置项目git的 SSL 证书
git·网络协议·ssl
发光小北1 天前
西门子 PLC 串口转网口模块现场应用有哪些问题?
网络协议
楚Y6同学1 天前
QT上位机开发-UDP通信-模拟下位机数据联调的方法
网络协议·udp·联调方法