We need to support very large number of concurrent clients. We cannot use proxy because that will increase latency.
I believe the limiting factor is cluster controller which is a single process.
Is it possible to separate out client and server controller? Then there can be more than one client controller? The client controller can be chosen in round robin or data center aware way.
These are just my initial thoughts. I am sure, I would have ignored lots of scenarios that needs to be though of.
Would like to start a discussion on same.