I am going to implement sorting using many machines (distributed sorting). I will code it with Scala. Because I do not have much experience with network programming, I need you guys help me to choose which library and method to make the communication between machines:
1/ How many machines can communicate using Message (this will be implement like case class in Scala)? Can I use ServerSocketChannel? Or should I build a TCP server for each machine? Do I need to serialize and de-serialize my object Message? If needed, can I use protobuf for doing that?
2/ How can I send data via network? Should I use java.io or java.nio?
I need to build my project using as less dependencies as possible. Thank a lot.