Передача объекта запроса другому сервлету / действию одного и того же приложения, работающего на разных серверах - PullRequest
0 голосов
/ 12 ноября 2009

Привет, у меня есть одно приложение, работающее на разных серверах, встроенное в struts2 и развернутое в Tomcat5. Теперь у меня есть функция «Сохранить на всех» в этом приложении. Когда он вызывается, одни и те же параметры запроса должны быть переданы всем сервлетам / действиям всех приложений, работающих на всех серверах. Как это можно сделать?


например. У меня есть 5 серверов в локальной сети, каждый из которых имеет независимый Tomcat и MySQL. Приложение разворачивается в каждом коте. Теперь, если я загружаю изображение из приложения, запущенного на любом сервере, оно должно быть загружено на все серверы.

Ответы [ 3 ]

0 голосов
/ 12 ноября 2009

Решение лежит совсем в другом месте. Вы, конечно, не хотите решить эту проблему на уровне веб-интерфейса. Вам нужно решить это на уровне программного обеспечения сервера. Серверы приложений должны работать в кластерной среде, все совместно используют одни и те же данные. Вот документ Tomcat 5.5, в котором описано, как это сделать: http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html

Подобное существует для серверов баз данных, но, как вы не упомянули, если и если да, то какой вы используете, я не могу дать ссылку на подробную документацию, как это сделать. Теперь вы, по крайней мере, знаете ключевое слово для поиска "cluster" .

Удачи.

0 голосов
/ 14 ноября 2009

Исходя из ваших дальнейших комментариев, я думаю, что вы идете об этом совершенно неправильно. Если вам нужно изображение, не дублируйте его; сделать простой сервис, который хранит изображения и вызывает его из других приложений. Это известно как сервис-ориентированная архитектура . (Под этим именем вы услышите много корпоративного бла-бла; игнорируйте это и продукты SOA там. Просто создайте простое приложение, которое позволит вам POST-изображения и получать их снова позже.)

0 голосов
/ 12 ноября 2009

Я бы использовал что-то вроде библиотеки Apache HttpClient . Однако будьте осторожны: в зависимости от вашего приложения сбой только на одном из нескольких серверов может привести к странному состоянию. Я бы тщательно проверил это на вашем месте, в том числе отключив сетевые кабели.

...