StackOverflow!Мы разрабатываем систему, которая должна быть горизонтально масштабируемой.Итак, система обмена сообщениями кажется правильным подходом, но она очень низкого уровня.Наше главное требование - постоянные соединения между клиентами и серверной системой (клиенты - это мобильные приложения, взаимодействующие с сервером по протоколу на основе xml).Следующая очень важная задача - распределение работы на основе текущей нагрузки на узел.Сейчас мы используем устаревшее приложение на основе фреймворка Apache Mina, но оно не масштабируется.Итак, какой архитектуры будет достаточно, и какие библиотеки или структуры вы знаете для решения наших проблем?
Распределение работы должно основываться на длине задачи, которая может быть переменной.Каждый сервер приложений в кластере должен иметь возможность отправлять сообщения клиенту в любое время без запроса от клиента (push).