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.
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
Cercare il pacchetto "Azure Caching Memcache Shim". Installare il pacchetto NuGet
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.
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
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).