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

相关推荐
忧云7 分钟前
HTTP抓包工具:安装配置与使用教程
网络协议·网络抓包工具·http抓包
serve the people27 分钟前
Elasticsearch(5) i want to monitor the es health from a http api
大数据·http·elasticsearch
Mr -老鬼44 分钟前
EasyClick 入门指南:HTTP 网络请求与 API 对接实战
网络·网络协议·http·自动化·#easyclick
上海云盾第一敬业销售1 小时前
WAF架构解析与实战经验分享
网络协议·web安全·架构
行走__Wz2 小时前
【网工入门-01】模拟器工具eNSP
网络·网络协议
用户337922545682 小时前
A2A 协议规范深度剖析:三层架构、数据模型、操作语义与协议绑定
网络协议
曲幽2 小时前
写爬虫时用了代理还被封?Python 代理的那些隐藏坑,我替你踩明白了
python·http·https·proxy·socks·requests·socks5·proxies
liuzhilongDBA3 小时前
浅析连接池和TCP探活
网络·网络协议·tcp/ip
ai_coder_ai3 小时前
论P2P计算关键技术与应用
网络·网络协议·p2p
cft56200_ln3 小时前
TDA4时间同步3 网卡添加虚拟时间戳
c语言·开发语言·arm开发·驱动开发·嵌入式硬件·网络协议