我正在研究纯在Golang的后端架构。我有一个API,用于将文件上传到golang服务器,然后将文件传输到云存储(从golang服务器本身)。现在,我希望这两个传输都是独立的,这样,最终用户就不必在上传文件后等待响应。
End User -> Golang Server ->[Concurrency/Parallelism] -> Cloud Storage
现在,我想到了两种方法:
一旦用户完成上传并将文件传输到云,就创建一个goroutine。
将文件处理程序插入队列中,另一个进程将读取该队列并将文件传输到云存储(多个生产者-单一消费者模型)。
我发现了使
上传到我的一个特定服务器的速度比预期的要慢得多,或者说是可以容忍的。
我正在将一个站点移动到一个新的主机上;该站点的部分功能是每天上传几个大型(>50 is )文件。在新服务器上,当前的上传速度慢得令人无法接受。
我是linux和apache服务器配置的新手;是否有任何设置应该更改或检查/调整,以允许最大的文件传输速度?