Frage dazu, wie die Cache-Funktion von AppFabric verwendet werden kann.Fragen zur Verwendung der Cache-Funktion von AppFabric
Ich entschuldige mich für eine Frage, die ich in der Lage sein sollte, aus der Dokumentation zu beantworten, aber ich habe gelesen und gelesen und kann diese Frage nicht beantworten, was mich glauben lässt, dass ich ein grundlegend fehlerhaftes Verständnis von was AppFabric haben Caching-Funktionen sind vorgesehen für.
Ich arbeite für eine geografisch verteilte Firma. Wir haben eine bestimmte Anwendung, die ursprünglich als Client/Server-Anwendung geschrieben wurde. Es ist so massiv und geschäftskritisch, dass wir es in eine bessere architektonische Lösung umwandeln wollen.
Eine der Ideen, die wir hatten, bestand darin, die App so zu konvertieren, dass sie ihre Daten mit WCF-Aufrufen an einen gemeinsam lokalisierten Webserver liest, der die Kommunikation mit der Datenbank in den USA zwischenspeichert. Die Art der Anwendung ist so, dass jeder dazu neigt, dieselben 2000 Datensätze oder so mit nur gelegentlichen Aktualisierungen zu sehen, und diese Aktualisierungen werden von einer begrenzten Gruppe von Benutzern gemacht.
Ich hoffte, dass der Cache-Mechanismus von AppFabric mir erlauben würde, einen globalen Cache einzurichten und wenn ein Benutzer in Asien zum Beispiel Daten anforderte, die nicht im Cache waren oder abgestanden waren, die der Webserver aus der Datenbank lesen würde Stellen Sie in den USA die Daten dem Benutzer zur Verfügung und aktualisieren Sie dann den Cache, der diese Daten an die anderen Webserver weiterleitet, damit sie nicht selbst zur Datenbank zurückkehren können.
Kann AppFabric auf diese Weise arbeiten oder soll ich nur die Server ihre eigenen Daten aus der Datenbank abrufen lassen?
Phil, vielen Dank für Ihre (sehr detaillierte) Antwort. Dies hilft, sich so stark zu verfestigen. –
Microsoft empfiehlt nicht, nicht dedizierte Hosts für AppFabric Cache-Knoten, insbesondere IIS-Hosts, zu verwenden, da Konflikte unter Last auftreten. – andrewbadera
"Objekte werden entweder aufgrund eines Zeitlimits oder weil der Hauptcache den lokalen Cache benachrichtigt, dass das Objekt veraltet ist, aus dem lokalen Cache entfernt." - Die lokalen Caches kontaktieren jedoch die Hauptcaches basierend auf einem Abfrageintervall (standardmäßig 300 Sekunden). Alle Änderungen an einem Objekt im Hauptcache zwischen den Abfragen werden von den lokalen Caches nicht übernommen. Daher werden sie nach Aktualisierungen des Hauptcaches kurzzeitig Stand-Kopien ausgeben. – redcalx