Я постараюсь четко изложить свой вопрос.Предположим, я запустил веб-сервис Java REST на Amazon EC2.HTTP-запрос попадает в один из моих сервисов со строкой «testString».Я сохраняю его в памяти в каком-то общем классе, допустим, я добавляю его в список ('stringsList') строк.
Мой вопрос: если у меня несколько экземпляров моего веб-сервиса,будет ли эта строка доступна в каждом из этих экземпляров? Если пользователь выдаст HTTP-запрос, который вызывает "stringsList.getString ('testString')", он точно получит строку?Или он может пропустить его, потому что он доступен, но на другом экземпляре моего веб-сервиса?
Я хочу иметь возможность запускать свой веб-сервис как масштабируемый с балансировкой нагрузки и несколькими экземплярами, нопо-прежнему, чтобы иметь возможность сохранять некоторую конкретную информацию о HTTP-запросах (может быть, именно поэтому REST не должен иметь состояния, поэтому мой дизайн неправильный, если я хочу это сделать?).Веб-сервис, к которому я стремлюсь, выглядит примерно так:
Масштабируемый веб-сервис (от Heroku)
Я постараюсь сообщить подробности, хотя я не уверен:
- Если я запустил веб-сервис через SSH для своего экземпляра EC2, и есть только один такой, это не будет проблемой, верно?
- Если я сделаюто же самое, но во многих случаях и с помощью балансировки нагрузки Amazon Elastic?
- Если ответ на вопрос 2 заключается в том, что может быть промах, но я все еще хочу добиться этого, каков альтернативный способ?
Может быть, не стоит делать это на Amazon EC2, но на другом сервисе?Если да, то какой?
- Поместить его в базу данных - не то, что я хочу, я хочу сохранить его только на несколько часов в памяти для того, что мне нужно.
Спасибо,
Лиран