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

相关推荐
大鱼>16 分钟前
从零实现TCP/IP协议栈:AR →IP分片→TCP状态机→拥塞控制
网络·网络协议·tcp/ip
paopaokaka_luck29 分钟前
基于springboot3+vue3的乡村医生诊疗管理系统(AI助手、协同过滤算法、webSocket实时聊天、Echarts图形化分析)
前端·网络·人工智能·spring boot·websocket·网络协议·echarts
程序猿乐锅38 分钟前
【计算机网络 | 第三章】数据链路层
网络·网络协议·计算机网络
烛衔溟1 小时前
HarmonyOS 网络连接 —— HTTP 请求、Axios 与 Socket 通信
http·华为·harmonyos
为啥全要学2 小时前
fastapi websocket全双工通信
websocket·网络协议·fastapi
Sam_Deep_Thinking2 小时前
用Java 17从0到1写一个mini版RPC,理解远程调用的本质
java·面试·rpc·程序员·系统架构
七月稻草人2 小时前
Grafana只能在内网看?配置HTTPS公网地址远程打开监控面板
网络协议·https·grafana
kaixin_啊啊2 小时前
群晖部署Vaultwarden:HTTPS访问、自动填充与密码迁移
网络协议·http·https
夜雪一千15 小时前
TCP数据包长什么样?拆解TCP报文头部结构
网络·网络协议·tcp/ip
别催小唐敲代码16 小时前
STM32 I2C协议详解:从原理到实战
stm32·网络协议·协议