公司技术会议有人提出把 SPA 网站 API 都换成 protojson 的返回来节省 API 服务器带宽,是不是意义很小?我们后端是 C#和 Node.js,不是 Java 和 Go,开发麻烦,浏览器已经有 gzip 压缩了

2024-08-09 21:55:53 +08:00
 drymonfidelia
3471 次点击
所在节点    程序员
26 条回复
crysislinux
2024-08-09 21:57:31 +08:00
你们公司要是有 Google 的量级那节约一个 byte 都可以上。如果规模不大还是洗洗睡吧。。
julyclyde
2024-08-09 22:22:09 +08:00
说明已经没啥可做的了
准备接受裁员吧
Admstor
2024-08-09 22:26:11 +08:00
你们是宇宙级别通信需要这么节省吗?
Lockroach
2024-08-09 22:28:43 +08:00
属于是没事干给自己加强度了,不是什么大厂的话没意义
ChefIsAwesome
2024-08-09 22:28:59 +08:00
这就是另外一种形式的产能过剩。没别的事就做呗,不然看你们没事,裁了你们不是更难受。
iOCZS
2024-08-09 22:29:06 +08:00
面试的时候怎么过的?优化方案不是一大把吗,怎么黔驴技穷了😂
lisongeee
2024-08-09 22:49:47 +08:00
好奇换成 protojson 之后,浏览器的 devtools 还能正常显示 json 结构吗
0xD800
2024-08-09 23:06:52 +08:00
@lisongeee 理论上客户端是有描述信息的,只是传输上省略啦,其实省略的只是 key 的数据量,还有一些很少的数值。。。
可以把 proto 转成对象的
marxJR
2024-08-09 23:11:38 +08:00
nodejs 用在生产环境的后端?少见噢,当然可能是我见识太少。。
drymonfidelia
2024-08-09 23:23:50 +08:00
@marxJR 挺多的 我记得 paypal 之类都是
我不会用
lisongeee
2024-08-09 23:40:23 +08:00
@0xD800

> 可以把 proto 转成对象的

我的意思是 DevTools - 网络 - 请求 Item - 预览 是否还能像 JSON 格式那样如期工作

![image]( https://github.com/user-attachments/assets/f00620aa-6f9d-4372-b3f0-91e2bc7490dc)
yinmin
2024-08-09 23:49:20 +08:00
遵循第一定律:能用就别动。

微信公众号接口混用 xml 和 json ,十来年了也没统一啊
Bingchunmoli
2024-08-09 23:55:20 +08:00
@lisongeee network 显示的应该是传输的实际内容吧,和 json 有什么关系呢
DefoliationM
2024-08-09 23:57:57 +08:00
protojson 依旧是 json ,不知道节省什么,protobuf 才是二进制数据,楼上的怎么一堆不知道瞎说的。
lisongeee
2024-08-10 00:00:46 +08:00
@Bingchunmoli

看来你没懂我在说什么,算了就这样吧
akira
2024-08-10 00:21:48 +08:00
提出优化动作的人,不是要先证明必要性的么。还是说你们已经闲的蛋疼了,要自己给自己找事情做了
julyclyde
2024-08-10 09:56:07 +08:00
@marxJR 前几年很流行所谓全栈呢
其实就是前端工程师扩展了一部分工作
masterclock
2024-08-10 19:45:34 +08:00
不要让提出这个问题的人接触业务类的开发,调整到合适的开发岗位上去
chen05
2024-08-10 21:12:24 +08:00
这个没什么技术难度
就是根据请求 header 头中的 accept 和 accept-encoding 对内容进行编码
现在的后端框架已经支持 html,text,json,xml 之类的自适应编码.
麻烦的点因该是对所有返回数据定义 pb 文件吧
不过已经有了 gzip 下, 与其考虑流量不如考虑由于编码带来的 CPU 性能负担
yangg
2024-08-10 22:08:37 +08:00
如果没上 brotli ,那还不如直接 上 brotli,再看看 brotli 和 zstd 压缩的自定义字典

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

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

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

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

© 2021 V2EX