Ausführen der Memcache-App mit Azure Managed Cache Service

Wichtig

Microsoft empfiehlt, alle neuen Entwicklungen azure Redis Cache zu verwenden. Aktuelle Dokumentation und Anleitung zum Auswählen eines Azure Cache-Angebots finden Sie unter Welches Azure Cache-Angebot ist für mich geeignet?

Managed Cache Service bietet Unterstützung für die Migration rollenbasierter Cloud Services Memcache-Clientanwendungen, um Managed Cache Service zu verwenden, indem ein Memcache-Client shim bereitgestellt wird. In diesem Thema finden Sie Anleitungen zur Verwendung dieses Shim, damit Ihre Memcache-Clientanwendungen Managed Cache Service verwenden können.

In diesem Abschnitt

  • Memcache im Überblick

  • Unterstützung des Memcache-Protokolls

  • Memcache-Clientshim

  • Bereitstellen des Clientshims für Azure-Anwendungen

Memcache im Überblick

Memcache ist eine verteilte Arbeitsspeicher-Cachelösung, die zum Beschleunigen großer Webanwendungen verendet wird, indem die Datenbank entlastet wird. Memcache wird von vielen der größten Websites im Internet verwendet und wurde auf innovative Weise mit anderen Technologien zusammengeführt.

Azure unterstützt das Memcache-Protokoll, um Kunden mit vorhandenen Memcache-Implementierungen die einfache Migration in Azure zu ermöglichen. Wenn eine Anwendung Memcache bereits verwendet, ist es nicht notwendig, diesen Code durch neuen zu ersetzen.

Das Ausführen von Managed Cache Service mit Memcache ist eine bessere Option als z. B. das Ausführen von Memcache selbst in einer Arbeitsrolle. Dies liegt daran, dass Managed Cache Service mehrwertige Features wie z. B. das ordnungsgemäße Herunterfahren, hohe Verfügbarkeit, lokale Zwischenspeicherung, Benachrichtigungen, Datenkonsistenz, hohe Verfügbarkeit (HA) und einfache Skalierungs- und Skalierungsfunktionen bietet, die für die Clients transparent sind, um einige zu nennen. Das Serverhashschema und die Partitionsverwaltung in Managed Cache Service mit Memcache helfen beispielsweise beim Lastenausgleich und beibehalten der Datenkonsistenz.

Unterstützung des Memcache-Protokolls

Managed Cache Service unterstützt das Memcache-Drahtprotokoll. Es sind zwei Versionen des Protokolls verfügbar: eine binäre Version und eine Textversion.

Ein Memcache-Client sollte Kompatibilität mit Azure erwarten können. Managed Cache Service unterstützt fast jede API, die andere Memcache-Implementierungen unterstützen.

Sollte ein Benutzer also eine Memcache-Anwendung mit Azure verwenden wollen, fügen Sie der Anwendung einen Verweis auf die Implementierung von Memcache von Azure hinzu. Sie sollte dann unverändert weiterhin funktionieren, ohne dass weitere Änderungen an der Anwendung erforderlich sind.

Memcache-Clientshim

Der Memcache-Clientshim wird auf dem Client installiert, der auf den Cache zugreift. Dabei handelt es sich im Allgemeinen um die Azure-Rolle, die die Anwendung selbst ausübt. Der Clientshim unterstützt den lokalen Cache.

Der Shim ist eine Übersetzungsschicht. Er übersetzt Memcache-Clientaufrufe in die Managed Cache Service-API. Der Shim verfügt über zwei Teile – einen Memcache-Protokollhandler und einen Managed Cache Service Client. Der Shim – die Übersetzungsebene – wird auf dem Client selbst installiert, wo immer die Get- und Put-Aufrufe an Managed Cache Service API ausgeführt werden.

Wenn der Memcache-Client einen Verweis auf localhost als Memcache-Server enthält, werden memcache-Vorgänge anfangs von der lokalen Instanz des Shims verarbeitet. Der Shim übersetzt den Vorgang in eine Cache-API-Anforderung und sendet ihn an die Managed Cache Service.

Bereitstellen des Clientshims für Azure-Anwendungen

Hinweis

Stellen Sie vor dem Start sicher, dass Sie über den Cacheendpunkt und den Zugriffsschlüssel für Ihren Cache verfügen. Weitere Informationen zum Erstellen eines Caches finden Sie unter How to: Create a Cache for Azure Managed Cache Service. Weitere Informationen zu Zugriffstasten finden Sie unter Steuern des Zugriffs mithilfe von Zugriffstasten.

  1. Klicken Sie in der Rolle mit dem Memcache-Client mit der rechten Maustaste auf den Rollennamen, und wählen Sie dann Bibliothekspaketverweis hinzufügen aus, um das NuGet-Fenster zu öffnen.

  2. Suchen Sie nach "Azure Caching Memcache-Shim". Installieren Sie dieses NuGet-Paket.

  3. Das Paket erstellt den Starttask, fügt einen internen Endpunkt für memcache_default hinzu, ordnet diesen 11211 zu und fügt dann die entsprechenden Abschnitte dataCacheClients in die Dateien App.config und web.config ein. Diese Angaben können auf der Registerkarte für die internen Endpunkte geändert werden.

  4. Stellen Sie den Managed Cache Service Endpunkt im AutoDiscovery-Element und den Zugriffsschlüssel in der AuthorizationInfo im dataCacheClientSection des App.config oder Web.config bereit.

  5. Der Client muss nun so konfiguriert sein, dass er auf den Shim verweist. Bearbeiten Sie die Memcache-Clientkonfiguration, und legen Sie den Server auf localhost fest. Die richtigen Portnummern müssen ebenfalls festgelegt werden (die Standardeinstellung ist 11211).