3

对于金融系统,我需要使用轻量级和快速的协议,通过推送服务器(例如 Socket.IO)将数据从服务器传输到客户端

如您所知,使用 BSON 打包和解包也比使用原生 JSON 需要更多时间,并且可能本身成为瓶颈。

我想知道,这是使用 BSON 而不是 JSON 来传输数据以减小消息大小的正确方法吗?

4

1 回答 1

4

我想知道,这是使用 BSON 而不是 JSON 来传输数据以减小消息大小的正确方法吗?

这取决于应用程序。如果它是基于浏览器的应用程序,那么答案是否定的。主要是因为基于浏览器的 javascript(还)不具备处理二进制数据的能力。有一些建议,比如类型化数组,如果真的有必要,可以在某种程度上做到这一点,但即使是目前的规范也只是“草稿”。更不用说 IE 不支持它。

对于基于浏览器的应用程序,减小数据包大小的标准方法是使用 gzip 之类的压缩。这可以在您的服务器上进行配置,也可以在您的 Web 应用程序中完成。

对于非基于浏览器的应用程序,答案取决于它。像 MongoDB 这样的项目在 BSON 上取得了巨大的成功。另一方面,仅使用 JSON+压缩,整个 Web 就运行良好。最好的答案是让您自己对其进行基准测试,看看它是否适合您的情况。

于 2012-11-26T08:17:55.193 回答