2010-10-05 26 views
5

Je suis intéressé par les technologies de messagerie ouverte et/ou de cache distribué qui répondent aux exigences suivantes.technologie de cache distribué

  • Plusieurs instances de charge équilibrée de l'application Web Java (probablement sur Amazon EC2)
    • Il est possible pour le nombre de cas à changer au fil du temps mise à l'échelle.
  • Lorsqu'une demande est livré avec un identifiant FOO, l'événement est mis en mémoire cache pendant une période de temps.
    • La durée de mise en cache de l'événement est spécifiée dans la charge utile de requête et varie d'une requête à l'autre.
    • Les durées de durée sont relativement faibles (de l'ordre de quelques minutes).
    • La persistance n'est pas requise. Dans les rares cas où quelque chose de dramatique se produit et que le serveur doit être redémarré, il est normal qu'il oublie les événements passés.
  • Les informations sur la demande doit être propagée à toutes les instances de serveur
    • propagation de l'information ne doit pas avoir un impact significatif des performances des serveurs, et une réponse particulièrement latences. Il doit être asynchrone à partir du traitement des demandes. Cependant, il devrait être raisonnablement rapide et s'adapter à un grand nombre de demandes.
    • Les différentes instances de serveur peuvent ne pas être synchronisées. C'est à dire. il est acceptable que pendant une courte période de temps (de l'ordre de secondes) l'instance de serveur 2 ne sache pas que FOO s'est produite sur l'instance de serveur 1 jusqu'à ce que cette information soit propagée à elle.

Toutes les idées seraient appréciés. Si des solutions nécessitent une configuration/personnalisation spécifique pour répondre aux exigences, veuillez indiquer ce que je dois faire. Je ne veux pas laisser entendre que les réponses actuelles ne sont pas pertinentes, mais je n'étais pas explicite dans ma question. S'il vous plaît ne pointez pas seulement à toutes les bibliothèques MQ et JSR-107 sous le soleil. Seuls ceux que vous avez des raisons de croire satisfont à mes exigences.

+0

S'il vous plaît ne hésitez pas à améliorer le titre de la question. – ykaganovich

Répondre

3

EhCache prend en charge distributed and replicated caching.

En outre, vous pouvez définir des paramètres tels que la durée de vie lorsque des éléments sont ajoutés au cache.

0

vous pouvez également vérifier NCache, il est un cache qui distribue est compatible avec les applications Java & .NET