为了账号安全,请及时绑定邮箱和手机立即绑定

grpc-gateway 与 Twirp RPC 有什么区别

grpc-gateway 与 Twirp RPC 有什么区别

Go
SMILET 2022-06-13 15:09:13
我们已经有了提供 rpc 和 rest 端点的Twrip-RPC 。那么为什么我们需要 grpc-Gateway。与 twirp 相比,它提供了哪些优势。是不是我们可以为 grpc 网关提供自定义端点是唯一的区别。Twrip-rpc 不能做什么 grpc-gateway?
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

Twirp 和 gRPC 网关类似。他们都从 protobuf 文件定义中构建 API 服务。

主要区别:

  • gRPC 仅在 HTTP2 上使用 protobuf,这意味着浏览器无法轻松地直接与基于 gRPC 的服务通信。

  • Twirp 在 Protobuf 和 JSON、HTTP 1.1 和 HTTP2 上工作,因此任何客户端都可以轻松通信。

  • gRPC 是一个具有许多功能的完整框架。很强大的东西。

  • Twirp 很小很小。只有一些基本功能,但它更容易管理。



查看完整回答
反对 回复 2022-06-13
?
茅侃侃

TA贡献1842条经验 获得超22个赞

要使用 Go RPC 的 RPC 框架生成 RPC 脚手架,我们可以从一开始就考虑 gRPC 或寻找更简单的 Twitch RPC,即Twirp

选择 Twirp 而不是 gRPC 的常见原因如下:

  • Twirp 带有 HTTP 1.1 支持。

  • Twirp 支持 JSON 传输。

  • gRPC 在 net/http 之外重新实现了 HTTP/2。

gRPC over Twirp 的原因是:

  • gRPC 支持流式传输。

  • gRPC 做出了电线兼容性承诺。

  • 网络级别的更多功能。


查看完整回答
反对 回复 2022-06-13
?
FFIVE

TA贡献1797条经验 获得超6个赞

除了二进制 Protobuf 编解码器之外,Twirp 还支持 JSON 编码的请求和响应,但它仍然充当 RPC。POST您可以在端点上使用 HTTP ,例如/twirp/MyService/SayHello使用 JSON 有效负载并接收 JSON 响应。除了可选的 JSON 之外,与标准 gRPC 非常相似。

对于 gRPC 网关,它有点不同。在这里,您可以在现有 gRPC 服务上配置任何 HTTP REST 端点。例如,MySevice.SayHello可以映射到GET /hello. 这使得在 gRPC 定义之上实现完整的 REST 服务变得非常容易。

希望这能澄清一下。


查看完整回答
反对 回复 2022-06-13
  • 3 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号