Eseguire l'app Memcache con il Servizio cache gestito di Azure

Importante

Microsoft consiglia tutti i nuovi sviluppi di usare Cache Redis di Azure. Per la documentazione e le indicazioni correnti sulla scelta di un'offerta di Cache di Azure, vedere Quale offerta di Cache di Azure è adatta per l'utente?

Servizio cache gestita fornisce supporto per la migrazione di applicazioni client memcache basate su ruoli Servizi cloud per l'uso di Servizio cache gestita fornendo uno shim client Memcache. Questo argomento fornisce indicazioni sull'uso di questo shim per consentire alle applicazioni client Memcache di usare Servizio cache gestita.

Contenuto della sezione

  • Panoramica di Memcache

  • Supporto del protocollo Memcache

  • Shim client Memcache

  • Come distribuire lo shim client per le applicazioni Azure

Panoramica di Memcache

Memcache è una soluzione distribuita di memorizzazione nella cache in memoria che consente di accelerare le applicazioni Web su larga scala riducendo la pressione sul database. Memcache è usato da numerosi siti Web più importanti di Internet ed è stato integrato con altre tecnologie in modi innovativi.

Azure supporta il protocollo Memcache per consentire ai clienti che possiedono le implementazioni Memcache esistenti di eseguire facilmente la migrazione ad Azure. Se questo protocollo è già usato in un'applicazione, non è necessario sostituire questo codice con uno nuovo.

L'esecuzione di Servizio cache gestita con Memcache è un'opzione migliore rispetto, ad esempio, all'esecuzione di memcache in un ruolo di lavoro. Ciò è dovuto al fatto che Servizio cache gestita offre funzionalità a valore aggiunto, ad esempio arresto normale, disponibilità elevata, memorizzazione nella cache locale, notifiche, coerenza dei dati, disponibilità elevata e scalabilità orizzontale semplificata e scalabilità orizzontale trasparente per i client, per citarne alcuni. Ad esempio, lo schema di hashing del server e la gestione delle partizioni in Servizio cache gestita con Memcache consentono di bilanciare il carico e mantenere la coerenza dei dati.

Supporto del protocollo Memcache

Servizio cache gestita supporta il protocollo di trasmissione Memcache. Esistono due versioni del protocollo: binaria e testuale.

Un client Memcache dovrebbe prevedere la compatibilità con Azure. Servizio cache gestita supporta quasi tutte le API supportate da altre implementazioni Memcache.

Pertanto, se un utente trasferisce un'applicazione Memcache in Azure e imposta l'applicazione affinché faccia riferimento all'implementazione di Memcache di Azure, egli potrà continuare a lavorare senza apportare altre modifiche all'applicazione.

Shim client Memcache

Lo shim client Memcache viene installato nel client che accede alla cache. In genere si tratta del ruolo Azure dell'applicazione stessa. Lo shim client supporta la cache locale.

Lo shim è un livello di conversione. Converte le chiamate client Memcache all'API Servizio cache gestita. Lo shim ha due parti: un gestore del protocollo Memcache e un client Servizio cache gestita. Lo shim, ovvero il livello di conversione, viene installato nel client stesso, ovunque vengano effettuate le chiamate Get e Put all'API Servizio cache gestita.

Quando il client Memcache viene impostato per fare riferimento a localhost come il server Memcache, le operazioni memcache verranno inizialmente gestite dall'istanza locale dello shim. Lo shim converte l'operazione in una richiesta API della cache e la invierà al Servizio cache gestita.

Come distribuire lo shim client per le applicazioni Azure

Nota

Prima di iniziare, assicurarsi di avere l'endpoint della cache e la chiave di accesso per la cache. Per altre informazioni sulla creazione di una cache, vedere Procedura: Creare una cache per Azure Servizio cache gestita. Per altre informazioni sulle chiavi di accesso, vedere Controllo dell'accesso tramite chiavi di accesso.

  1. Nel ruolo che include il client Memcache fare clic con il pulsante destro del mouse sul nome del ruolo e selezionare "Aggiungi riferimento al pacchetto di librerie" per visualizzare la finestra di NuGet

  2. Cercare il pacchetto "Azure Caching Memcache Shim". Installare il pacchetto NuGet

  3. Il pacchetto creerà l'attività di avvio, aggiungerà un endpoint interno per memcache_default, ne eseguirà il mapping a 11211 e aggiungerà le sezioni dataCacheClients appropriate a App.config e Web.config. Questi dati possono essere modificati nella scheda relativa agli endpoint interni.

  4. Specificare l'endpoint Servizio cache gestita nell'elemento autoDiscovery e la chiave di accesso nell'authorizationInfo nel dataCacheClientSection del App.config o del Web.config

  5. Il client deve essere ora configurato affinché "faccia riferimento" allo shim. Modificare la configurazione del client memcache e impostare il server su "localhost". È anche necessario impostare i numeri di porta corretti (il numero predefinito è 11211).