我们已经有了提供远程过程调用和rest端点的Twrip-RPC。那么为什么我们需要grpc-Gateway。与twirp相比,它提供了哪些优势。就像我们可以用grpc网关提供自定义端点一样,唯一的区别是。Twrip-rpc不能做的grpc网关是什么?
发布于 2021-05-05 06:48:13
Twirp和gRPC网关是相似的。它们都是从一个protobuf文件定义中构建API服务。
主要区别:
发布于 2020-10-07 02:43:37
Twirp除了支持二进制Protobuf-codec之外,还支持JSON编码的请求和响应,同时它仍然像RPC一样工作。您可以在具有POST有效负载的/twirp/MyService/SayHello等端点上使用HTTP并接收JSON响应。非常类似于标准的gRPC,除了可选的JSON。
对于gRPC网关来说,情况略有不同。您可以在这里配置现有gRPC服务上的任何HTTP REST端点。例如,MySevice.SayHello可以映射到GET /hello。这使得在gRPC定义之上实现一个完整的REST服务变得非常容易。
希望这能澄清这一点。
发布于 2021-05-05 22:02:26
要使用Go RPC的RPC框架生成RPC scaffold,我们可以从一开始就考虑gRPC,或者考虑更简单的Twitch RPC,即Twirp。
选择Twirp而不是gRPC的常见原因如下:
gRPC胜过Twirp的原因是:
在网络级别上,
https://stackoverflow.com/questions/62494187
复制相似问题