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.

  1. Öffnen Sie auf einem AppFabric-Cachecluster eine Eingabeaufforderung Windows PowerShell-Cacheverwaltung.

  2. Führen Sie den Befehl "Get-Cache " ohne Parameter aus. Auf diese Weise werden die benannten Caches aufgelistet.

  3. 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         : {}
    
  4. Führen Sie den Befehl "Get-CacheHost " aus, um eine Liste der Cachehosts im Cachecluster anzuzeigen.

  5. 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.

  6. Fügen Sie die Size-Werte für alle Cachehosts hinzu, um die Gesamtgröße des Cacheclusters zu ermitteln. Dies Size 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

  1. Ö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.

  2. 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.

  3. 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 Namen contosocache in der geografischen Region South 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 .

  4. 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.

Named Caches in Windows Azure Cache Service

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 Element configSections. Entfernen Sie nicht das gesamte Element configSections, sondern nur den Eintrag dataCacheClients, 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.

Windows Azure Cache NuGet Package

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.

  1. configSections werden zwei Abschnitte namens dataCacheClients und cacheDiagnostics 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>
    
  2. Ein Abschnitt dataCacheClients wird dem Abschnitt configuration 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.

    Endpoint URL for Windows Azure Cache Service
    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.

    Manage Access Keys for Windows Azure Cache Service Das sslEnabled Attribut konfiguriert, ob die Kommunikation zwischen dem Cacheclient und dem Cache mithilfe von SSL verschlüsselt wird. Weitere Informationen zur Verwendung des sslEnabled 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.