客户端发送文件,大小可能大于5G,发送到从服务器,然后从服务器发送到主服务器。
从属设备会将临时文件保存到自身吗?我不希望发生这种情况,因为它会减慢上传速度并浪费从站的内存。
有什么办法可以避免这种情况吗?在 golang 中传输大文件的最佳方式是什么?
是的,有一个标准方法可以避免存储转发方法:一旦客户端连接从服务器,后者就应该打开与主服务器的连接,然后就可以了stream来自客户端的数据。通常这是使用io.Copy()
功能。由于 Go 使用接口的出色鸭子类型,这适用于 TCP 连接和 HTTP 请求/响应。
(为了获得更好的解释,您必须缩小问题范围。)
部分解决方案甚至出现在 stackoverflow 提出的类似问题中——这里是 https://stackoverflow.com/a/16311368/720999.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)