I have multiple nodes. Node is just a linux or windows server. Also I have one master node. The master node is manager of process of file sharing.
This images shows process of communication:
So, I try to choose some protocol for this system, which I can implement (or just use some existing implementation). I need a file sharing protocol. I mean checking the checksum, managing a Internet bandwidth, managing the process of data exchange.
File is just a binary data. File size is approximately 1-10 MB. The number of files in the system is approximately 1 million. 90% of all requests are write requests.