我有一个节点服务器,可以同时为超过10,000个用户提供大数据服务,我已经尝试过lz-string https://www.npmjs.org/package/lz-string,但它不是好模块,因为它阻塞了节点线程。
请回答以下问题:
最好压缩服务器中的数据,然后在客户端解压缩而不是发送plain / json数据?
压缩/解压缩数据的最佳和最快方法是什么?
答案 0 :(得分:2)
如果您使用HTTP协议通过互联网发送大量文本数据,那么已经有一些技术可以帮助您。
一个叫HTTP Compression。 HTTP协议规范允许很少的压缩算法对正在发送的数据执行,但这需要正确配置服务器和客户端以进行压缩。标准Node.js服务器不会在不修改代码的情况下压缩数据。
对于没有任何框架和第三方模块的裸Node.js,有zlib模块专门用于HTTP压缩,包括服务器和客户端。
使用 Express ?然后是compression middleware。
使用nginx作为node.js应用程序的代理服务器也许值得一看。然后,您可以轻松地翻转开启compression in nginx的开关,而无需在Node.js应用程序中执行任何操作:
server {
gzip on;
...
}
这实际上取决于您使用的堆栈,但想法是一样的:压缩HTTP流本身,因为协议支持它。