我正在研究纯在Golang的后端架构。我有一个API,用于将文件上传到golang服务器,然后将文件传输到云存储(从golang服务器本身)。现在,我希望这两个传输都是独立的,这样,最终用户就不必在上传文件后等待响应。
End User -> Golang Server ->[Concurrency/Parallelism] -> Cloud Storage
现在,我想到了两种方法:
一旦用户完成上传并将文件传输到云,就创建一个goroutine。
将文件处理程序插入队列中,另一个进程将读取该队列并将文件传输到云存储(多个生产者-单一消费者模型)。
我发现了使