gpt4 book ai didi

rest - GRPC 与 REST 有何不同?

转载 作者:行者123 更新时间:2023-12-03 04:59:53 26 4
gpt4 key购买 nike

我正在读这篇文章explanation of GRPC这张图很有趣:

enter image description here

传输层如何工作?如果是通过网络......为什么它被称为 RPC?更重要的是,这与为服务层(客户端中具有发出 http 请求的方法的类)实现 API 的 REST 有什么不同?

最佳答案

传输层在 TCP/IP 之上使用 HTTP/2 工作。它允许更低的延迟(更快)的连接,可以利用从客户端到服务器的单个连接(这可以更有效地利用连接,并可以更有效地利用服务器资源。

HTTP/2 还支持双向连接和异步连接。因此服务器可以有效地与客户端联系以发送消息(异步响应/通知等)

虽然 REST 和 gRPC 都可以生成客户端/服务器 stub (使用 REST 的 swagger 之类的东西),但 REST 具有一组有限的主要“函数”调用(或动词):

+-----------+----------------+| HTTP Verb |      CRUD      |+-----------+----------------+| POST      | Create         || GET       | Read           || PUT       | Update/Replace || PATCH     | Update/Modify  || DELETE    | Delete         |+-----------+----------------+

而 gRPC 您可以定义任何类型的函数调用,包括同步/异步、单向/双向(流)等。

客户端使用 gRPC 调用本地方法。对于程序员来说,看起来您正在进行本地调用,但底层(自动生成的客户端 stub )将调用发送到服务器。对于服务器来说,它的方法看起来像是在本地调用的。

gRPC 负责所有底层管道并简化编程范例。然而,对于一些专注的 REST 纯粹主义者来说,这似乎过于复杂。 YMMV

关于rest - GRPC 与 REST 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43682366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com