Оценки сложно дать без тестирования производительности; количество поддерживаемых клиентов зависит от памяти, скорости / нагрузки процессора, пропускной способности / объема, требований к задержке, требований к хранилищу ...
Существует несколько подходов, которые вы можете использовать для обмена данными между серверами; Я бы пошел на широковещательный / многоадресный UDP между ними, так как это самый масштабируемый подход.
Самая большая проблема, с которой вы, вероятно, столкнетесь, - это справиться с перебоями в работе сервера и правильно управлять балансировкой нагрузки.
EDIT
Если вы не привязаны к NIO для сервера-сервера, JMS в режиме pub / sub может быть хорошим решением.