Tutorial > Come configurare il Load Balancing con NGINX e Jelastic Cloud

Come configurare il Load Balancing con NGINX e Jelastic Cloud

Pubblicato il: 06 febbraio 2020

Jelastic Cloud Load Balancer NGINX

Il Load Balancing é un processo di distribuzione del carico tra più componenti che viene eseguito da un determinato tipo di nodi chiamati load balancers. In Jelastic Cloud, i load balancers, possono essere aggiunti manualmente all'ambiente virtuale.

Jelastic Cloud supporta diverse tipologie di load balancers:
  • NGINX: uno dei server open source più famosi al mondo che garantisce alte prestazioni ed efficienza degli applicativi. Fornisce una piattaforma economica e altamente disponibile per le applicazioni di hosting grazie alla sua scalabilità, sicurezza e alta efficienza nell'uso delle risorse.

  • HAProxy: una soluzione open source veloce e affidabile, in grado di gestire un traffico enorme e offre elevata disponibilità, bilanciamento del carico e proxy per applicazioni basate su TCP e HTTP.

  • Varnish: un acceleratore di applicazioni web noto anche come reverse proxy HTTP con memorizzazione nella cache per siti web dinamici con traffico elevato. A differenza di altri server proxy, è stato inizialmente progettato per essere focalizzato esclusivamente sul protocollo HTTP. Tuttavia, all'interno dell'implementazione Jelastic, viene fornito in bundle con il server NGINX (eseguito come proxy HTTPS).

  • Apache è una soluzione open source, che offre opzioni di personalizzazione elevate attraverso la sua struttura modulare. Il bilanciamento Apache può essere configurato per soddisfare i requisiti univoci di ciascun dato ambiente, garantendo contemporaneamente vantaggi quali sicurezza, elevata disponibilità, velocità, affidabilità e autenticazione.

  • LiteSpeed Web ADC è una soluzione commerciale di bilanciamento del carico HTTP ad alte prestazioni che offre sicurezza avanzata, prestazioni a livello aziendale e molte altre features.
Ai fini della produzione, l'utilizzo di più nodi di calcolo con un load balancer è l'approccio preferibile, in quanto garantisce ridondanza e alta disponibilità del sistema.

Bilanciamento del carico TCP con NGINX

I client Jelastic Cloud possono utilizzare un load balancer di tipo TCP per bilanciare le richieste a database, server di posta e altri servizi di rete. Utilizzando il protocollo TCP invece di quello HTTP si ottiene un bilanciamento più veloce.

Il load balancer riceve una richiesta di connessione da un'applicazione client tramite un socket di rete. Questo componente decide quale nodo nell'ambiente riceve la richiesta. Per questa richiesta di distribuzione, Jelastic utilizza un algoritmo di tipo Round Robin.

Per utilizzare il bilanciamento del carico TCP devi creare un ambiente Jelastic Cloud con almeno un application server:

Creazione Ambiente jelastic

N.B. Ricordati di abilitare l'IP pubblico per la tua istanza NGINX.

Clicca quindi sul tasto "Config" relativo all'istanza NGINX:

Configurazione istanza NGINX

Nella tab appena aperta apri la cartella "tcpmaps" e quindi modifica il file "mappings.xml" per specificare le porte per il backend e per il frontend e salva le modifiche:

Mappature Porte NGINX

Riavvia l'istanza NGINX per applicare le modifiche:

Riavvia l'istanza NGINX

Cache del load balancer NGINX

Il load balancer di NGINX permette di memorizzare i file in una memoria temporanea per ridurre le richieste verso il web server. Quando un utente tenterà di visualizzare una risorsa che ha visualizzato recentemente, il browser la recupererà dalla cache di NGINX invece che dal web server.

Per abilitare la cache clicca sul pulsante "Config" della istanza NGINX che hai precedentemente creato:

Configurazione istanza NGINX

Modifica il file cache.conf e decommenta le linee di configurazione presenti, come mostrato nella seguente immagine:

Impostazioni Cache NGINX

Salva le modifiche e riavvia la tua istanza.

Riavvia l'istanza NGINX

A questo punto avrai abilitato la memorizzazione nella cache.