Вы можете сделать много вещей, чтобы сделать его "масштабируемым".
Во-первых, сервлет имеет такую незначительную нагрузку, что маловероятно, что он станет проблемой; веб-сервис есть. Здесь можно указать два типа масштабирования - горизонтальное и вертикальное.
Горизонтальное масштабирование - это когда вы обрабатываете запрос с одинаковой скоростью, но можете обрабатывать больше из них. Это обеспечивается балансировкой нагрузки, F5 или другим балансировщиком нагрузки и обслуживанием веб-приложений несколькими веб-серверами.
Вертикальное масштабирование - это когда вы бросаете более быстрый процессор в проблему. Горизонтальный лучше.
Работа с самим сервисом - это ваша точка сбоя масштабируемости, поскольку именно там выполняется реальная работа. В этом случае у вас есть простой сервис, поэтому вы можете сделать то же самое с веб-сервисом, что и с сервлетом. Но если проблема "сложнее" - хорошо, именно здесь вы начинаете использовать JMS для предоставления асинхронных услуг, так что ваши поставщики услуг принимают запросы и предоставляют ответы , как только они могут . Это дает вам естественное место для добавления большего количества потребителей, поэтому, если вы обнаружите, что ваша служба JMS не может обрабатывать запросы, вы добавляете другого потребителя (другой сервер, прослушивающий очередь); если это не в состоянии не отставать, вымойте, ополосните, повторите.
Конечно, есть и облачные решения проблемы; Я работаю в GigaSpaces Technologies, которая предоставляет сервис горизонтальной масштабируемости для веб-сервисов, и мы работаем намного лучше, чем решение, которое я только что обрисовал. Чтобы узнать, как это работает, смотрите http://www.youtube.com/watch?v=YTEqFzrfVss.