Полагаю, вы имеете в виду кластеризацию приложений.
AFAIK, у JVM, порожденного действительно большим размером кучи, есть проблемы, когда дело доходит до сбора мусора, хотя я уверен, что играя с алгоритмом GC и параметрами , вы можете снизить ущерб до минимума. Кроме того, кластерные приложения не имеют единой точки отказа. Если один узел выходит из строя, остальные узлы могут продолжать обслуживать клиентов. Это одна из причин, по которой «архитектуры на основе сообщений» хорошо подходят для масштабируемости. Каждый запрос сопоставляется с сообщением, которое затем может быть получено любым узлом в кластере.
Еще один момент - одновременное обслуживание нескольких запросов, если, к сожалению, ваше приложение использует разумно синхронизированное ключевое слово. В настоящее время у нас есть унаследованное приложение, которое имеет много общего состояния (к сожалению), и, следовательно, параллельная обработка запросов выполняется путем запуска около 20 процессов JVM с центральным диспетчерским модулем, который выполняет всю диспетчерскую работу. ; -)