HTTP RESTFul RPC

一、简介

(1)HTTP(Hypertext Transfer Protocol)是一种应用层协议。它经常用于在Web和服务器之间通讯,或服务与服务之间通讯。

(2)RESTFul 约束HTTP协议实现上的规范设计。

(3)RPC(Remote Procedure Call)远程过程调用方法。它经常用于服务与服务之间通讯。当前服务调用其他服务时,能够像调用函数一样。

RPC的实现可以基于TCP协议,也可以基于HTTP协议。

在基于TCP协议的情况下,服务的调用方和提供方需要建立Socket连接,然后调用方通过Socket将需要调用的接口名称、方法名称和参数序列化后传递给提供方。

http是TCP的上层协议

二、对于我自己理解

HTTP是协议、RESTFul是规范、RPC是具体方法。

协议用来定义规则、规范用来约束实现,方法用来具体调用

三、落地案例

Spring Cloud 的OpenFeign 就是RPC的实现,采用http协议,使用RESTFul规范约束

Dubbo 就是RPC的实现,采用TCP

TCP比http更靠近底层协议,冗余东西更少,性能也就更好

相关推荐
9624567 小时前
Go EVM 链上数据平台实践:从 RPC Demo 到可演进架构
rpc·架构·golang
flash俊杰1 天前
给工具调用划安全红线:SSRF 防护、逐跳复检与沙箱取舍
http
是2的10次方啊1 天前
超时了,然后呢?——聊聊 HTTP / Dubbo 超时后,客户端、服务端与 C 端用户的真实感受
http·dubbo
尘一不染1 天前
多模型 API 接入实战(一):从一次 HTTP 请求到可维护的适配层
网络·人工智能·网络协议·http
程序员夏洛1 天前
TCP 是用来解决什么问题?
java·网络协议·http·https
艾莉丝努力练剑1 天前
【AI大模型接入SDK】ChatServer HTTP接口模块实现总览
网络·c++·人工智能·网络协议·学习·http·架构
打工仔折腾 AI2 天前
用 Dashlet 把极空间 NAS 服务入口整理成统一导航首页的实践
java·开发语言·人工智能·后端·python·rpc·ai agent 实战
青瓦梦滋2 天前
【在线五子棋对战】游戏匹配模块
网络·c++·网络协议·http·https
聚美智数3 天前
网站HTTP状态查询-SEO优化
网络·网络协议·http