对于金融系统,我需要使用轻量级和快速的协议,通过推送服务器(例如Socket.IO)将数据从服务器传输到客户端
如您所知,使用BSON打包和解包也比使用本机JSON花费更多时间,并且可能成为瓶颈本身。
我想知道,这种正确的方法是使用BSON而不是JSON来传输数据以减少消息的大小吗?
答案 0 :(得分:3)
我想知道,这是使用BSON而不是JSON的正确方法 传输数据以减少消息的大小?
这取决于应用程序。如果它是基于浏览器的应用程序,那么答案是否。主要是因为基于浏览器的javascript(还)没有能力处理二进制数据。有类似数组的提议,如果真的有必要可以排序,但即使是对此的规范也仅仅被认为是“草案”。更不用说IE不支持它了。
对于基于浏览器的应用程序,减小数据包大小的标准方法是使用像gzip这样的压缩。这可以在您的服务器上配置,也可以在您的网络应用程序中完成。
对于非基于浏览器的应用,答案是取决于。 MongoDB等项目在BSON方面取得了巨大成功。另一方面,整个网络运行良好,仅使用JSON +压缩。最好的答案是让你自己对它进行基准测试,看看你的情况是否合理。