10 Open Source Load Balancer per HA e prestazioni migliorate

Uno dei modi più rapidi e semplici per configurare un’applicazione con disponibilità elevata e migliorare le prestazioni consiste nell’implementare il sistema di bilanciamento del carico (LB).

Ad alto livello, ci sono tre tipi di bilanciamento del carico.

  • Basato sull’hardware
  • Basato su cloud
  • Basato su software

Un bilanciamento del carico hardware è un’appliance dedicata per fornire la distribuzione del carico e le relative funzionalità. Alcuni dei famosi fornitori di hardware LB sono:

Sono costosi ma ti danno il pieno controllo.

Il servizio di bilanciamento del carico cloud è più che mai di tendenza.

L’utilizzo di cloud LB è uno dei modi convenienti per sfruttare tutte le funzionalità senza investire in un’appliance hardware. Paghi per quello che usi. Di seguito sono riportati alcuni dei noti cloud LB.

Puoi farlo partire da un minimo di $ 20 al mese.

E l’ultimo è basato su software in cui installi, gestisci e configuri il software LB da solo. Questo può essere commerciale o open-source/gratuito.

Se non hai un budget o desideri esplorare una soluzione di bilanciamento del carico gratuita, di seguito ti aiuterà.

Altalena

Usato da Googleun server di bilanciamento del carico virtuale basato su Linux affidabile per fornire la distribuzione del carico necessaria nella stessa rete.

Altalena è sviluppato nel linguaggio Go e funziona bene su Ubuntu/Debian distro. Supporta anycast e DSR (ritorno diretto del server) e richiede due nodi altalena. Possono essere fisici o virtuali.

Vale la pena ricordare che Seesaw funziona con reti di livello quattro, quindi se stai cercando il bilanciamento del carico di livello sette, potresti voler esplorare altre opzioni.

KEMP

Un controller di consegna delle applicazioni avanzato GRATUITO di KEMP è supportato su tutti i principali hypervisor. Puoi scaricarlo e utilizzarlo nel tuo data center o distribuirlo in cloud DC come AWS o Azure.

È gratuito ma offre un livello commerciale di funzionalità comprese quelle seguenti.

  • Bilanciamento del carico di livello 4 per TCP/UDP utilizzando algoritmi di connessione round-robin o almeno
  • Bilanciamento del livello 7
  • Integrare un firewall per applicazioni Web (WAF)
  • Motore di prevenzione delle intrusioni (IPS) integrato
  • Vero bilanciamento del carico del server globale, supporta il multisito
  • Caching, compressione dei contenuti, cambio dei contenuti
  • Persistenza dei cookie web
  • Tunnel IPSec
  • Preautenticazione
  • Criptiamo
  • Kubernetes

KEMP LB è utilizzato da alcuni dei grandi marchi come Apple, Sony, JP Morgan, Audi, Hyundai, ecc. L’edizione gratuita offre funzionalità sufficienti; tuttavia, se hai bisogno di più, puoi controllare la loro licenza commerciale.

Se tu o la tua organizzazione decidete di esplorare KEMP LB e avete bisogno di una formazione online, potete fare riferimento a questo corso online di Mike Walton.

HAProxy

Uno dei più popolari sul mercato è quello di fornire alta disponibilità, proxy, bilanciamento del carico TCP/HTTP. HAProxy è utilizzato da alcuni dei marchi rinomati nel mondo, come di seguito.

Alcune delle caratteristiche degne di nota sono.

  • Supporta IPv6 e socket UNIX
  • Sgonfia e compressione Gzip
  • Controllo della salute
  • Persistenza della sessione basata sul sorgente
  • Report statistici integrati (checkout demo)

Come ci si può aspettare, HAProxy ha l’edizione aziendale, l’hardware e l’appliance virtuale.

Il modo migliore per conoscere HAProxy è provarli. Community Edition include tantissime funzionalità e sono comunque GRATUITE.

ZEVENET

Zevenet supporta L3, L4 e L7. È disponibile come codice sorgente, immagine IOS e in un repository Docker.

Supporta il monitoraggio avanzato del controllo dello stato, quindi i server/servizi difettosi sono fuori servizio rapidamente per fornire un’esperienza utente senza interruzioni. Zevenet precedentemente noto come Zen funziona bene con un protocollo basato su TCP come FTP, SIP, SSL, HTTP, ecc.

Se stai cercando l’hosting Zevenet, puoi provare Kamera.

neutrino

neutrino è utilizzato da eBay e costruito utilizzando Scala & Netty. Supporta algoritmi di connessione minima e round robin con le seguenti funzionalità di commutazione.

  • Usando nomi canonici
  • Basato sul contesto
  • L4 utilizzando i numeri di porta TCP

Neutrino è testato per gestire oltre 300 richieste al secondo su una macchina virtuale a 2 core. Se stai confrontando con HAProxy, uno dei principali vantaggi dell’utilizzo di Neutrino è il cambio L7.

Ma come sempre, prova entrambi e vedi cosa funziona meglio per il tuo ambiente.

Equilibrio

Equilibrio di In lab networks è un proxy TCP round-robin LB che supporta IPv6 sul lato di ascolto. Ciò significa che puoi avere IPv4 sul front-end e IPv6 sul back-end.

Ha tutte le funzionalità di base di LB.

Penna

Penna è testato su Linux, FreeBSD, HP-UX, Solaris e Windows ma nessun motivo per cui non dovrebbe funzionare su un’altra distribuzione Unix. Supporta protocolli basati su UDP e TCP come HTTP, SNMP, DNS, ecc.

Alcune delle caratteristiche includono quanto segue insieme a quelle di base.

  • Filtro GeoIP
  • Terminazione SSL
  • Compatibilità IPv4 e IPv6

Nginx

So cosa potresti pensare. Nginx è un server Web, un server proxy, ecc. Ma Nginx open source supporta un livello base di cambio di contenuto e distribuzione del routing delle richieste su più server.

Tuttavia, l’edizione Nginx Plus è molto di più.

Nginx Plus è una soluzione di distribuzione di applicazioni Web all-in-one che include bilanciamento del carico, memorizzazione nella cache dei contenuti, server Web, WAF, monitoraggio, ecc. Fornisce una soluzione di bilanciamento del carico ad alte prestazioni per ridimensionare le applicazioni per soddisfare milioni di richieste al secondo.

Traefik

Un proxy di riserva HTTP moderno e veloce e LB creato con GO. Traefik supporta più servizi di back-end Amazon ECS, Docker, Kubernetes, Rancher, ecc.

Supporta WebSocket, HTTP/2, rinnovo automatico del certificato SSL con Let’s encrypt, interfaccia pulita per gestire e monitorare le risorse.

Intermediario

Intermediario è un bilanciatore del carico L4 TCP, TLS e UDP ad alte prestazioni minimalista ma potente.

Funziona su più piattaforme come Windows, Linux, Docker, Darwin e se interessati puoi creare dal codice sorgente. Il bilanciamento viene eseguito in base ai seguenti algoritmi scelti nella configurazione.

  • hash IP
  • Famoso in tutto il mondo: round robin
  • Minima larghezza di banda
  • Connessione minima
  • Il peso

Basato su questo prova delle prestazioniGo-between è più veloce di HAProxy ma non di Nginx.

Se stai cercando una moderna soluzione di bilanciamento L4 con rilevamento automatico per l’ambiente dinamico, Go-between sembra promettente. Fai una prova per vedere come va.

Conclusione

Spero che il software di bilanciamento del carico open source sopra elencato ti aiuti a sceglierne uno per la tua applicazione. Sono tutti GRATUITI, quindi il modo migliore per trovare ciò che funziona è provarli.

Se stai cercando di apprendere nuove abilità, prova Udemy, dove sono disponibili migliaia di corsi video.