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