grpc - Grpc 我什么时候应该使用 json 编码而不是通常的编码?
问题描述
据我了解,grpc 有它自己的编码机制,可以压缩它并使其比 json 快得多。Grpc proto 3 引入了 JSON 编码,我认为这会使事情变慢,并且可能与 http/2 上的通常 rest api 没有太大区别。
在任何情况下我可能会为 grpc 使用 json 编码?
解决方案
Protobufs 支持 JSON 映射,以方便在 JSON 和 Protobufs 消息之间进行转换。看:
https://developers.google.com/protocol-buffers/docs/proto3#json
但是(!)二进制“有线格式”编码保持不变。
JSON 映射的原因是,JSON 的流行(部分原因是它在 REST API 中的使用)使得想要在 JSON 和 Protobuf 消息之间转换数据变得相当普遍。JSON 映射可用于自动化此过程;进一步减少开发人员的工作量。
这很有用的一个示例是,当构建使用 Protobufs(默认)但希望为那些尚未准备好进行移动的客户端提供基于 REST 的 API 作为 gRPC 服务代理的 gRPC API 时。
推荐阅读
- protoc - Cli 生成协议缓冲区
- reactjs - 如何获取只需要获取一次的数据
- amazon-web-services - AWS Lambda - 重复同步触发,直到满足条件
- swift - iOS 14 / UI 测试 DatePicker
- android - 从前台服务通知创建活动时调用什么方法?
- c# - 当我尝试重新发送时,VSTO Outlook 加载项电子邮件仍保留在发件箱中
- python - 同一图表上的相同查询在 Neptune 与 Gremlify 上返回不同的结果
- excel - 来自 VBA 的 DLL 声明行中的编译器错误“未定义用户定义的类型”
- installation - Hyperledger Fabric - 示例 - 2.2.0 平台特定结构二进制文件不可下载
- sql - 用 100 万条记录填充表