客户端发送文件,大小可能超过5G,到从服务器,而不是从服务器发送到主服务器.
奴隶会将临时文件保存到自身吗?我不希望它发生,因为它会降低上传速度并浪费奴隶的记忆.
有什么办法可以避免这个吗在golang中传输大文件的最佳方法是什么?
解决方法
是的,有一种避免存储转发方法的标准方法:一旦客户端连接从服务器,后者应该打开与主服务器的连接,然后从客户端流式传输数据.通常,这是使用io.Copy()函数完成的.感谢Go使用接口进行优秀的鸭子打字,这适用于TCP连接和HTTP请求/响应.(为了获得更好的解释,你必须缩小你的问题.)
解决方案的一部分甚至出现在stackoverflow-here it is建议的类似问题中.