I'm developing an application where I have two multithreaded servers (Server1 and Server2). I am saving data in this two servers in a Map. What I want to do is sort of do a load balance between this to servers (have the same amount of data on both servers). So I have two questions:

1) How can I connect a client random to a server? For instance when I start a client this client connects for example to Server1 and when I start another client, this one connects to Server2.

2) What technique can I use to do the load balance in the servers?

Best regards.