我应该使用哪种协议在多个节点之间交换文件?

Which protocol should I use to exchange files between multiple nodes?

我有多个节点。 Node 只是一个 linux 或 windows 服务器。我也有一个主节点。主节点是文件共享进程的管理者。

这张图片展示了沟通的过程:

所以,我尝试为这个系统选择一些我可以实现的协议(或者只使用一些现有的实现)。我需要一个文件共享协议。我的意思是检查校验和、管理 Internet 带宽、管理数据交换过程。

文件只是二进制数据。文件大小约为 1-10 MB。系统中的文件数量约为 100 万个。 90% 的请求是写入请求。

Web 服务器旨在提供文件服务(除其他外)。

我建议您使用 http 协议并使用 https://golang.org/pkg/net/http/#FileServer,只需几行代码即可设置。

如果您需要安全传输,请使用 https,FileServer 也可用:https://golang.org/pkg/net/http/#ListenAndServeTLS