对于金融系统,我需要使用一个轻量级的、快速的协议将数据从服务器传送到客户端,并使用推送服务器(例如Socket.IO)。
如您所知,用BSON打包和解压缩比使用本地JSON花费更多的时间,并且可能成为瓶颈本身。
我想知道,这种使用BSON而不是JSON来传输数据以减少消息大小的方法是否正确?
发布于 2012-11-26 08:17:55
我想知道,这种使用BSON而不是JSON来传输数据以减少消息大小的方法是否正确?
这取决于应用程序。如果它是一个基于浏览器的应用程序,那么答案是no。主要是因为基于浏览器的javascript不具备处理二进制数据的能力。有些建议,比如类型化数组,如果真的有必要的话,可以对其进行排序,但就目前而言,它的规范也仅仅被认为是“草案”。更不用说IE不支持它的事实了。
对于基于浏览器的应用程序,减少数据包大小的标准方法是使用压缩(如gzip )。这可以在您的服务器上配置,也可以在您的web应用程序中完成。
对于非浏览器应用程序,答案是,这取决于。像MongoDB这样的项目在BSON中取得了巨大的成功。另一方面,网络作为一个整体在JSON+compression上运行得很好。最好的答案是你自己对它进行基准测试,看看它在你的情况下是否有意义。
https://stackoverflow.com/questions/13560863
复制相似问题