背景
当前的产品端到端使用的数据交换协议是JSON,对于数据量大的客户来说,数据存储成本以及带宽的消耗已经成为整个产品的一大支出。在这种背景下,需要对数据交换协议进行优化,达到减少网络带宽以及存储消耗,提升数据传输效率
方案
针对上述的背景,可以从两个方向来考虑问题:
- 在当前协议类型不变的前提下进行转码或者数据格式转换,从而达到数据体积缩小的目的
- 另起炉灶,彻底改变当前JSON的传输方式,改用其他高效率的数据传输协议(如protocolbuffer)
下面分情况讨论下两种方案:
局部优化
不言而喻,在json基础上进行优化的好处就是改动量小,风险小,能够快速迭代,架构侵入较小,所以优先介绍该方案,并且该方案中的部分优化机制在下面的一个方案中同样适用。 首先先介绍下通用的优化方案:
- 格式转换
- 数值转换
- 编码转换
格式转换
针对固定格式的数据,使用一定的规则进行转换,变成较小的消息体或者格式进行传输,包含如下几个规则:
-
所有IP从字符串转化为int类型
-
所有日期和时间转化为10位int类型
-
所有的经纬度信息转化为geohash
这些规则直观上能减少相关类型数据的总长度,进而减少带宽消耗。如果不使用JSON而换成区分数据类型的协议(如protocolbuffer),则效果更明显
数值转换
针对固定

最低0.47元/天 解锁文章
1336

被折叠的 条评论
为什么被折叠?



