使用ZMQ传输数据时,传输端口速度快,数据量大,但接收端口处理速度慢,数据在两个进程之间累积。有谁知道如何解决这个问题?感谢。
答案 0 :(得分:0)
而不是一次发送所有数据,而是发送块。这样的事情......
客户端向服务器发送读取请求以获取数据块:
客户 - >服务器:为文件'xyz'给我0到1023字节
服务器 - >客户:第1块
客户 - >服务器:给我1024到2047字节的文件'xyz'
服务器 - >客户:第2块
......等等。
对于每个响应,客户端将块保存到磁盘。
此方法允许客户端限制从服务器传输数据的速率。此外,在网络出现故障的情况下,由于每个块都是持久的,因此无需从头开始读取文件;客户端可以从最后一个响应失败之前的点开始请求更多的块。
你在语言绑定方面没有提到任何内容,但是这个解决方案应该可以用几乎任何语言来实现。