公司现有一个 go 项目,接口 response 过大,准备将原来的 json 格式转用 protocol buff 提高传输效率,遇到的问题是现有 interface{}接口类型的数据如何转 pb 兼容编码

2020-03-25 17:35:33 +08:00
 xmpx310
3085 次点击
所在节点    Go 编程语言
9 条回复
xkeyideal
2020-03-25 17:54:02 +08:00
[]byte + 类型枚举?
kaifang
2020-03-25 17:57:25 +08:00
要不看下,gin 怎么实现的? https://gin-gonic.com/zh-cn/docs/examples/rendering/
xkeyideal
2020-03-25 17:59:54 +08:00
补充一下,还可以用 pb 的 oneof 字段,了解一下
lasuar
2020-03-25 23:42:20 +08:00
pb3 有个 any 类型,oneof 也可以,前者更通用
123444a
2020-03-26 01:20:36 +08:00
反射呀,有啥子问题,不解
scnace
2020-03-26 02:20:06 +08:00
any ?
reus
2020-03-26 08:41:53 +08:00
json 压缩一下应该和二进制编码差不了多少。
xkeyideal
2020-03-26 09:25:48 +08:00
@reus 手上有个项目,pb vs json gzip 差距还是不小的,明显 pb 在 response 的性能上有优势
tcfenix
2020-03-26 16:00:07 +08:00
只要你不用 encoding/json
其他的一些库,比如生成型的,或者虽然是反射,但是可以缓存 encoder 的 jsoniter 这些性能都跟 pb 差不多

楼主不妨多给点讯息,比如调用端是你在维护,还是其他地方?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX