технология распределенного кэша

Меня интересуют технологии обмена сообщениями с открытым исходным кодом и / или распределенного кеширования, которые удовлетворяют следующим требованиям.

  • Множественные экземпляры приложений с балансировкой нагрузки Веб-приложение Java (возможно, на Amazon EC2)
    • Количество экземпляров может меняться со временем для масштабирования.
  • Когда запрос приходит с идентификатором FOO , событие кэшируется в памяти на определенный период времени.
    • Продолжительность времени, в течение которого событие кэшируется, указывается в полезных данных запроса и варьируется между запросами.
    • Продолжительность относительно небольшая (порядка минут).
    • Настойчивость не требуется. В том редком случае, когда происходит что-то драматическое и сервер должен быть перезагружен, это нормально, если он забыл о прошлых событиях.
  • Информация о запросе должна быть распространена на все экземпляры сервера.
    • Распространение информации не должно существенно влиять на производительность серверов и особенно на задержки ответа. Он должен быть асинхронным от обработки запроса. Однако он должен быть достаточно быстрым и масштабироваться для большого количества запросов.
    • Это нормально, если разные экземпляры сервера не синхронизируются. То есть допустимо, чтобы в течение некоторого короткого периода времени (порядка секунд) экземпляр сервера 2 не знал, что FOO произошел на экземпляре сервера 1, пока эта информация не будет передана ему.

Любые идеи будет оценена. Если какие-либо решения требуют определенной конфигурации / настройки в соответствии с требованиями, укажите, что мне нужно сделать.

РЕДАКТИРОВАТЬ Я не имею в виду, что текущие ответы не имеют отношения к делу, но я не был в моем вопросе. Пожалуйста, не указывайте на каждую библиотеку MQ и JSR-107 под солнцем. Только те, которые, по вашему мнению, удовлетворяют моим требованиям.

5
задан ykaganovich 5 October 2010 в 23:20
поделиться