2010-10-05 35 views
5

Ich interessiere mich für Open-Source-Messaging und/oder verteilte Cache-Technologien, die die folgenden Anforderungen erfüllen.verteilte Cache-Technologie

  • Mehrere Lastausgleich Instanzen von Java-Web-Anwendung (wahrscheinlich auf Amazon EC2)
    • Es ist möglich, für die Anzahl der Instanzen für die Skalierung zu ändern im Laufe der Zeit sein.
  • Wenn eine Anfrage mit der ID FOO kommt, wird das Ereignis im Speicher für einen bestimmten Zeitraum zwischengespeichert.
    • Die Dauer der Zeit, für die das Ereignis zwischengespeichert wird, wird in den Nutzdaten der Anforderung angegeben und variiert zwischen den Anforderungen.
    • Dauer ist relativ klein (in der Größenordnung von Minuten).
    • Persistenz ist nicht erforderlich. In dem seltenen Fall, dass etwas Dramatisches passiert und der Server neu gestartet werden muss, ist es in Ordnung, vergangene Ereignisse zu vergessen.
  • Die Informationen über die Anforderung
    • Ausbreitung der Informationen an alle Server-Instanzen propagiert werden muss, darf nicht wesentlich Leistung des Servers auswirken und vor allem Antwortlatenzen. Es sollte asynchron von der Anfrageverarbeitung sein. Es sollte jedoch relativ schnell sein und auf eine große Anzahl von Anfragen skalieren.
    • Es ist in Ordnung, wenn verschiedene Serverinstanzen nicht synchron sind. I.e. Es ist akzeptabel, dass Serverinstanz 2 für eine kurze Zeitspanne (in der Größenordnung von Sekunden) nicht weiß, dass FOO auf Serverinstanz 1 aufgetreten ist, bis diese Information an es weitergegeben wird.

Irgendwelche Ideen geschätzt würde. Wenn eine Lösung eine spezifische Konfiguration/Anpassung erfordert, die den Anforderungen entspricht, geben Sie bitte an, was ich tun muss.

EDIT Ich meine nicht, dass die aktuellen Antworten nicht relevant sind, aber ich war nicht explizit in meiner Frage. Bitte zeigen Sie nicht nur auf jede MQ- und JSR-107-Bibliothek unter der Sonne. Nur die, von denen Sie einen Grund zur Annahme haben, erfüllen meine Anforderungen.

+0

Bitte fühlen Sie sich frei den Titel der Frage zu verbessern. – ykaganovich

Antwort

0

Sie auch NCache überprüfen kann, ist es ein Cache verteilt, die sowohl mit .NET & Java kompatibel ist apps