Migrieren aus AppFabric Caching in 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?
In diesem Thema wird beschrieben, wie Sie von Microsoft AppFabric 1.1 für Windows Server zu Azure Managed Cache Service migrieren. Diese Art der Zwischenspeichermigration kann auftreten, wenn Sie eine lokale Anwendung in Azure verschieben.
AppFabric unterstützt lokale Cachecluster, die Ihre eigenen Server und Ihre Netzwerkinfrastruktur verwenden. Der Wechsel zu Azure wird durch die Tatsache erleichtert, dass die meisten Features und Programmierungsmodell von AppFabric mit Managed Cache Service geteilt werden.
Planen der Migration
Analysieren des AppFabric-Cacheclusters
Auswählen eines Cacheangebots
Erneutes Erstellen des Cacheclusters mithilfe von Cache Service
Erstellen eines Caches
Konfigurieren des Caches
Konfigurieren der Cacheclients
Installieren des NuGet-Pakets Caching
Migrieren von Anwendungscode
Planen der Migration
Bevor Sie Ihre cachefähige Anwendung in die Cloud migrieren, überprüfen Sie zuerst die Unterschiede zwischen AppFabric und Microsoft Azure Cache. Wenn Sie ein Feature wie Lese- oder Schreibbehind benötigen, das in Microsoft Azure Cache nicht verfügbar ist, müssen Sie diesen Teil Ihrer Lösung neu gestalten, um erfolgreich zu Azure zu wechseln.
Analysieren des AppFabric-Cacheclusters
Auswählen eines Cacheangebots
Analysieren des AppFabric-Cacheclusters
Alle Caches und ihre relevanten Einstellungen müssen in Managed Cache Service neu erstellt werden. Der erste Schritt besteht im Analysieren des AppFabric-Cachecluster, um die aktuelle lokale Konfiguration zu verstehen.
Öffnen Sie auf einem AppFabric-Cachecluster eine Eingabeaufforderung Windows PowerShell-Cacheverwaltung.
Führen Sie den Befehl "Get-Cache " ohne Parameter aus. Auf diese Weise werden die benannten Caches aufgelistet.
Führen Sie für jeden aufgelisteten Cache den Befehl "Get-CacheConfig " aus. Übergeben Sie den Cachenamen als ein Argument an diesen Befehl. Zeichnen Sie die Konfigurationseinstellungen für jeden Cache auf. Im Folgenden sehen Sie ein Beispiel für diese Ausgabe.
PS C:\Windows\system32> Get-CacheConfig TestCache CacheName : TestCache TimeToLive : 20 mins CacheType : Partitioned Secondaries : 0 MinSecondaries : 0 IsExpirable : True EvictionType : None NotificationsEnabled : True WriteBehindEnabled : False WriteBehindInterval : 300 WriteBehindRetryInterval : 60 WriteBehindRetryCount : -1 ReadThroughEnabled : False ProviderType : ProviderSettings : {}
Führen Sie den Befehl "Get-CacheHost " aus, um eine Liste der Cachehosts im Cachecluster anzuzeigen.
Führen Sie für jeden Cachehost den Befehl "Get-CacheHostConfig " aus. Übergeben Sie die erforderlichen Argumente, den Namen des Cachehosts und den Cacheport (normalerweise 22233). Zeichnen Sie den Parameter
Size
für jeden Cachehost auf.Fügen Sie die
Size
-Werte für alle Cachehosts hinzu, um die Gesamtgröße des Cacheclusters zu ermitteln. DiesSize
kann als Ausgangspunkt beim Ermitteln des Cacheangebots und der Kapazität beim Erstellen eines neuen Caches in Managed Cache Service verwendet werden.
Auswählen eines Cacheangebots
Managed Cache Service ist in den folgenden drei Angeboten verfügbar.
Basic: Cache mit einer Größe von 128 MB bis 1 GB, der in 128-MB-Schritten vergrößert werden kann, mit einem benannten Standardcache
Standard – Cachegrößen von 1 GB bis zu 10 GB in Inkrementen von 1 GB mit Unterstützung für Benachrichtigungen, Hochverfügbarkeit und bis zu zehn benannten Standardcaches
Premium: Cache mit einer Größe von 5 GB bis 150 GB, der in 5-GB-Schritten vergrößert werden kann und Benachrichtigungen, Hochverfügbarkeit sowie bis zu zehn benannte Caches unterstützt
Hinweis
Jedes dieser Angebote unterscheidet sich hinsichtlich der Preise und Funktionen. Weitere Informationen finden Sie unter Häufig gestellte Fragen zum Cachedienstpreis. Weitere Details finden Sie auch im folgenden Abschnitt "Cache konfigurieren" in diesem Migrationshandbuch.
Die meisten Cachefeatures von Microsoft AppFabric 1.1 für Windows Server sind in Managed Cache Service verfügbar (mit Ausnahme von Lese- und Schreibbehind), aber nicht alle Managed Cache Service Features sind in allen verfügbar. Managed Cache Service Cacheangebote. Wenn Ihre Anwendung Benachrichtigungen oder hohe Verfügbarkeit verwendet, sollten Sie entweder das Standard- oder Premium Cacheangebot auswählen. Ein Ausgangspunkt für die Migration besteht darin, das Managed Cache Service Cacheangebot zu wählen, das über die von Ihrer Anwendung benötigten Cachefeatures verfügt, und entspricht der Kapazität Ihrer Microsoft AppFabric 1.1 für Windows Server Caches, wie in "Analysieren des AppFabric-Cacheclusters" beschrieben. Nachdem Sie die Anwendung bereitgestellt haben, können Sie die Leistung Ihres Caches überwachen und je nach den Anforderungen Ihrer Anwendung nach oben oder unten skalieren. Weitere Informationen zur Überwachung der Leistung und Skalierung finden Sie unter Überwachen von Azure Managed Cache Service und Skalieren eines Caches für Azure Managed Cache Service.
Erneutes Erstellen des Cacheclusters mithilfe von Cache Service
Führen Sie die folgenden Schritte aus, um den Microsoft AppFabric 1.1 für Windows Server Cachecluster mithilfe Managed Cache Service neu zu erstellen.
Erstellen eines Caches
Konfigurieren des Caches
Warnung
Es wird nicht unterstützt, sowohl AppFabric als auch das Azure SDK auf demselben Entwicklungscomputer zu installieren. In diesen Schritten wird davon ausgegangen, dass Sie separate Computer verwenden oder AppFabric vollständig deinstallieren, bevor Sie das Azure SDK installieren.
Erstellen eines Caches
Cacheinstanzen in Managed Cache Service werden mithilfe von PowerShell-Skripts erstellt.
Wichtig
Sobald eine Managed Cache Service Instanz mithilfe der PowerShell-Cmdlets erstellt wurde, kann sie im Azure-Verwaltungsportal angezeigt und konfiguriert werden.
So erstellen Sie eine Managed Cache Service Instanz
Öffnen Sie ein Azure PowerShell-Befehlsfenster.
Hinweis
Weitere Informationen zur Installation und Verwendung von Azure PowerShell finden Sie unter Installieren und Konfigurieren von Azure PowerShell.
Rufen Sie das Cmdlet
Add-AzureAccount
auf, und geben Sie die Ihrem Konto zugeordnete E-Mail-Adresse und Ihr Kennwort ein.Hinweis
Falls Sie Azure PowerShell mit einem Zertifikat für Ihr Konto verknüpft haben, können Sie diesen Schritt überspringen. Weitere Informationen zum Herstellen einer Verbindung zwischen Azure PowerShell und Ihrem Azure-Konto finden Sie unter Installieren und Konfigurieren von Azure PowerShell.
Rufen Sie das Cmdlet
New-AzureManagedCache
auf, und geben Sie den Namen, die Region, das Cacheangebot und Größe des Caches an. Im folgenden Beispiel wird ein Cache mit 128 MB des Typs Basic mit dem Namencontosocache
in der geografischen RegionSouth Central US
erstellt.New-AzureManagedCache -Name contosocache -Location "South Central US" -Sku Basic -Memory 128MB
Hinweis
Eine vollständige Liste der Parameter und Werte für die Erstellung von Caches finden Sie in der Dokumentation zum Cmdlet New-AzureManagedCache .
Nach dem Aufrufen des PowerShell-Cmdlets dauert das Erstellen des Caches ggf. einige Minuten. Nachdem der Cache erstellt wurde, verfügt Ihr neuer Cache über einen Status "Ausführen " und ist für die Verwendung mit Standardeinstellungen bereit und kann im Azure-Verwaltungsportal angezeigt und konfiguriert werden.
Sie können den Erstellungsstatus im Azure PowerShell-Fenster überwachen. Sobald der Cache einsatzbereit ist, zeigt das Cmdlet
New-AzureManagedCache
die Cacheinformationen wie im folgenden Beispiel gezeigt an.PS C:\> Add-AzureAccount VERBOSE: Account "user@domain.com" has been added. VERBOSE: Subscription "MySubscription" is selected as the default subscription. VERBOSE: To view all the subscriptions, please use Get-AzureSubscription. VERBOSE: To switch to a different subscription, please use Select-AzureSubscription. PS C:\> New-AzureManagedCache -Name contosocache -Location "South Central US" -Sku Basic -Memory 128MB VERBOSE: Intializing parameters... VERBOSE: Creating prerequisites... VERBOSE: Verify cache service name... VERBOSE: Creating cache service... VERBOSE: Waiting for cache service to be in ready state... Name : contosocache Location : South Central US State : Active Sku : Basic Memory : 128MB PS C:\>
Konfigurieren des Caches
Sowohl Microsoft AppFabric 1.1 für Windows Server als auch Managed Cache Service unterstützen benannte Caches, die Ihnen die Flexibilität bieten, unterschiedliche Cacheoptionen für unterschiedliche Datensätze zu konfigurieren. Jeder Managed Cache Service Cache verfügt über einen standardmäßigen benannten Cache, und in den Standard- und Premium Cacheangeboten können bis zu neun zusätzliche benannte Caches konfiguriert werden. Jeder benannte Cache weist jeweils eigene Einstellungen auf, z. B. Hochverfügbarkeit, Benachrichtigungen und benutzerdefinierte Entfernungs- und Ablaufrichtlinien. Die Einstellungen benannter Caches werden im Verwaltungsportal auf der Registerkarte Konfigurieren für den Cache konfiguriert.
In der folgenden Tabelle wird die Ausgabe von Get-CacheConfig mit den Einstellungen im Zwischenspeicherfenster korreliert.
Get-CacheConfig-Einstellung | Managed Cache Service Einstellung |
---|---|
CacheName |
Name |
TimeToLive |
Zeit (min) |
Sekundäre Replikate (0, 1) |
Hohe Verfügbarkeit (0 = Deaktiviert, 1 = Aktiviert) |
IsExpirable (True, False) |
Ablaufrichtlinie (True = Absolut, False = Nie) Managed Cache Service verfügt über eine dritte Ablaufrichtlinie namens "Gleiten", wobei das Timeoutintervall für ein Element jedes Mal zurückgesetzt wird, wenn auf das Element zugegriffen wird. |
EvictionType (Keiner, LRU) |
Ablaufrichtlinie (Keine = Deaktiviert, LRU = Aktiviert) |
NotificationsEnabled (True, False) |
Benachrichtigungen (True = Aktiviert, False = Deaktiviert) |
Hinweis
Alle Hier aufgeführten AppFabric-Cacheeinstellungen werden in Microsoft Azure Cache nicht unterstützt.
Entfernen der Konfiguration für den AppFabric-Cachedienst
Bevor die Clientanwendungen für Managed Cache Service konfiguriert werden können, müssen die vorhandenen Microsoft AppFabric 1.1 für Windows Server Konfigurations- und Assemblyverweise entfernt werden.
Um die Microsoft AppFabric 1.1 für Windows Server-Konfiguration manuell zu entfernen, müssen Sie die Microsoft AppFabric 1.1 für Windows Server-Assemblyverweise und die Microsoft-AppFabric 1.1 für Windows Server entfernen. Konfiguration von app.config
oder web.config
.
Um die Microsoft AppFabric 1.1 für Windows Server Assemblyverweise zu entfernen, wählen Sie das Cacheclientprojekt in Projektmappen-Explorer aus, und erweitern Sie den Ordner "Verweise". Klicken Sie für jede der Assemblys in der folgenden Liste im Projektmappen-Explorer mit der rechten Maustaste auf die Assembly im Ordner Verweise, und wählen Sie dann Entfernen aus. Wenn es sich bei dem Client um ein Webprojekt handelt, entfernen Sie auch Microsoft.Web.DistributedCache.
Microsoft.ApplicationServer.Caching.Client
Microsoft.ApplicationServer.Caching.Core
Microsoft.WindowsFabric.Common
Microsoft.WindowsFabric.Data.Common
Um die Microsoft AppFabric 1.1 für Windows Server-Konfiguration zu entfernen, öffnen Sie das web.config
Projekt app.config
oder das Cacheclientprojekt, und entfernen Sie die folgenden beiden Elemente.
Entfernen Sie den Eintrag
dataCacheClients
aus dem ElementconfigSections
. Entfernen Sie nicht das gesamte ElementconfigSections
, sondern nur den EintragdataCacheClients
, falls vorhanden.<configSections> <!-- Existing sections omitted for clarity. --> <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" /> </configSections>
Entfernen Sie den Abschnitt
dataCacheClients
, der dem folgenden Beispiel ähnelt.<dataCacheClients> <dataCacheClient name="default"> <hosts> <host name="MyCacheNamespace.cache.windows.net" cachePort="22233" /> </hosts> <securityProperties mode="Message"> <messageSecurity authorizationInfo="Your authorization token will be here."> </messageSecurity> </securityProperties> </dataCacheClient> </dataCacheClients>
Nachdem diese Elemente entfernt wurden, können Sie die im nächsten Abschnitt beschriebenen Schritte ausführen, um den Cacheclient zu konfigurieren.
Konfigurieren der Cacheclients
Nachdem der neue Cache erstellt und konfiguriert wurde, können die Cacheclients für die Verwendung des Caches konfiguriert werden.
Installieren des NuGet-Pakets Caching
Migrieren von Anwendungscode
Installieren des NuGet-Pakets Caching
Microsoft Azure Cache bietet ein NuGet Paket, um die erforderlichen Konfigurations- und Assemblyverweise hinzuzufügen, damit Cacheclients auf einen Cache zugreifen können.
Wichtig
Stellen Sie vor dem Konfigurieren des Cacheclients mithilfe des Managed Cache Service NuGet-Pakets sicher, dass die Microsoft AppFabric 1.1 für Windows Server-Konfiguration vollständig aus dem web.config
Clientprojekt app.config
entfernt wird, wie im vorherigen Abschnitt beschrieben.
Wichtig
Für diese Schritte ist der aktuelle Paket-Manager von NuGet (Version 2.6.40627.9000 oder höher) erforderlich. Informationen zum Installieren der neuesten NuGet Paket-Manager finden Sie unter NuGet Paket-Manager.
Um das Managed Cache Service NuGet-Paket zu verwenden, klicken Sie mit der rechten Maustaste auf das Clientprojekt in Projektmappen-Explorer, und wählen Sie "NuGet Pakete verwalten" aus.
Wählen Sie Azure Caching aus, klicken Sie auf Installieren, und klicken Sie dann auf Ich stimme zu. Nachdem das Paket für das Clientprojekt installiert wurde, klicken Sie auf Schließen, um das Fenster NuGet-Pakete verwalten zu schließen.
Hinweis
Wenn Azure Caching nicht in der Liste angezeigt wird, geben Sie WindowsAzure.Caching in das Textfeld Online suchen ein.
Wenn das Managed Cache Service NuGet-Paket in einem Clientprojekt installiert ist, fügt es die erforderlichen Konfigurations- und Assemblyverweise hinzu, damit die Clientanwendung auf den Cache zugreifen kann.
In der Datei web.config
oder app.config
für das Clientprojekt werden mehrere Elemente hinzugefügt.
configSections
werden zwei Abschnitte namensdataCacheClients
undcacheDiagnostics
hinzugefügt.<!-- Non-cache sections omitted for space --> <configSections> <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" /> <section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" /> </configSections>
Ein Abschnitt
dataCacheClients
wird dem Abschnittconfiguration
hinzugefügt.<!-- Non-cache sections omitted for space --> <dataCacheClients> <dataCacheClient name="default"> <!--To use the in-role flavor of Azure Caching, set identifier to be the cache cluster role name --> <!--To use the Azure Caching Service, set identifier to be the endpoint of the cache cluster --> <autoDiscover isEnabled="true" identifier="[Cache role name or Service Endpoint]" /> <!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />--> <!--Use this section to specify security settings for connecting to your cache. This section is not required if your cache is hosted on a role that is a part of your cloud service. --> <!--<securityProperties mode="Message" sslEnabled="false"> <messageSecurity authorizationInfo="[Authentication Key]" /> </securityProperties>--> </dataCacheClient> </dataCacheClients>
Ersetzen Sie [Cacherollenname oder Dienstendpunkt] durch den Endpunkt, der im Cachedashboard im Verwaltungsportal angezeigt wird.
In diesem Beispiel wird der Cache mit dem Namen "applicationcache" bezeichnet, und der Endpunkt wird applicationcache.cache.windows.net.<autoDiscover isEnabled="true" identifier="applicationcache.cache.windows.net" />
Heben Sie die Kommentare des Abschnitts securityProperties auf, und ersetzen Sie [Authentifizierungsschlüssel] durch den Authentifizierungsschlüssel .
<!--Use this section to specify security settings for connecting to your cache. This section is not required if your cache is hosted on a role that is a part of your cloud service. --> <!--<securityProperties mode="Message" sslEnabled="false"> <messageSecurity authorizationInfo="[Authentication Key]" /> </securityProperties>-->
Sie ermitteln den Authentifizierungsschlüssel, indem Sie im Verwaltungsportal im Cachedashboard auf Schlüssel verwalten klicken.
Das
sslEnabled
Attribut konfiguriert, ob die Kommunikation zwischen dem Cacheclient und dem Cache mithilfe von SSL verschlüsselt wird. Weitere Informationen zur Verwendung dessslEnabled
Attributs finden Sie unter Sichern der Kommunikation zwischen Cacheclients und dem Cache.Warnung
Diese Einstellungen müssen ordnungsgemäß konfiguriert werden, ansonsten kann von den Clients nicht auf den Cache zugegriffen werden.
Für Clouddiensteprojekte fügt das Managed Cache Service NuGet-Paket auch eine ClientDiagnosticLevel-Einstellung zur ConfigurationSettings
Cacheclientrolle in ServiceConfiguration.cscfg
. Das folgende Beispiel ist der WebRole1
Abschnitt aus einer ServiceConfiguration.cscfg
Datei mit einem ClientDiagnosticLevel von 1, der der StandardclientDiagnosticLevel ist.
<Role name="WebRole1">
<Instances count="1" />
<ConfigurationSettings>
<!-- Other settings omitted for space... -->
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
</ConfigurationSettings>
</Role>
Hinweis
Weitere Informationen zu Cachediagnoseebenen finden Sie unter "ClientDiagnosticLevel" für Azure Managed Cache Service.
Zusätzlich zum Hinzufügen der erforderlichen Konfiguration fügt das Managed Cache Service NuGet-Paket auch die folgenden Assemblyverweise hinzu.
Microsoft.ApplicationServer.Caching.Client.dll
Microsoft.ApplicationServer.Caching.Core.dll
Microsoft.ApplicationServer.Caching.AzureCommon.dll
Microsoft.ApplicationServer.Caching.AzureClientHelper.dll
Microsoft.WindowsFabric.Common.dll
Microsoft.WindowsFabric.Data.Common.dll
Wenn es sich bei dem Projekt um eine Webprojekt handelt, wird der folgende Assemblyverweis ebenfalls hinzugefügt.
- Microsoft.Web.DistributedCache.dll
Hinweis
Managed Cache Service und Microsoft AppFabric 1.1 für Windows Server dieselbe API teilen, und obwohl die Assemblynamen identisch sind, sind die Assemblys selbst unterschiedlich und befinden sich an verschiedenen Speicherorten. Das Managed Cache Service NuGet Paket fügt die richtigen Managed Cache Service Assemblyverweise hinzu. Die Managed Cache Service Assemblys befinden sich im C:\Program Files\Microsoft SDKs\Azure\.NET SDK[SDk Version]\ref\Caching
Ordner.
Migrieren von Anwendungscode
Der letzte Schritt besteht darin, den Anwendungscode zu verschieben, um Managed Cache Service zu verwenden. Beachten Sie, dass der Namespace und viele der APIs gleich bleiben. Es sollten nur minimale Änderungen erforderlich sein. Weitere Informationen finden Sie unter Unterschiede zwischen lokalem AppFabric 1.1-Zwischenspeichern und Azure Managed Cache Service.