之前在这篇文章中说过RPC和HTTP之间有什么关系。面试向:什么是RPC?
答案是:没关系。两者不是一个层级的东西。HTTP只是RPC思想的一个可用的协议。
但是,REST和RPC是什么关系呢?
这两个是一个层级的东西 是两种不同的API架构风格。虽然rest API 是最常见的 但是RPC仍然有很大的用武之地。
什么是RPC?
RPC 使用客户端-服务器模型。请求服务器(换句话说就是客户端)请求一条消息,该消息由 RPC 转换并发送到另一台服务器。服务器收到请求后将响应发送回客户端。当服务器处理这个调用时,客户端被阻塞,服务器内部的消息传递被隐藏。
此外,RPC 允许客户端以特定格式请求函数,并以完全相同的格式接收响应。在 URL 中可以找到使用 RPC API 提交调用的方法。RPC 支持本地和分布式环境中的远程过程调用。
什么是REST?
使用 REST API 时,来自后端数据的响应通过 JSON 或 XML 消息格式传递给客户端(或用户)。这种架构模型倾向于遵循 HTTP 协议。(虽然RPC也可以遵守HTTP协议)
当 REST API 公开可用时,每个集成微服务应用程序的服务都可以作为资源呈现给用户/客户端,资源可以通过以下 HTTP 命令访问:GET、DELETE、POST和PUT。
什么是gRPC?
stands