Da.S.Co.S.

Informatica, telefonia, audio e video a Pietra Ligure, Finale Ligure, Loano e tutta la provincia di Savona

Bnbgenius.com – Load balancing e High availability

BnBGenius

Bnbgenius.com, sito della società bgenius Srl, è un portale “nato per facilitare le relazioni tra chi viaggia e chi ama ospitare nei propri alloggi i viaggiatori di tutto il mondo”. Come è facile intuire quindi questo portale ha bisogno di essere molto veloce, affidabile, con un downtime rasente lo zero (o un uptime vicino al 100%).

BGenius ci ha quindi affidato lo studio e l’implementazione di un sistema ad “alta affidabilità” per questi scopi.

La soluzione proposta, e accettata con entusiasmo, è sia HA che LB, ovvero High Availability e Load Balancing.

Il sistema è costituito da 3 server; 1 server “frontale” che agisce da smistatore di richieste, 2 server “nelle retrovie” che risolvono le richieste. LB perchè lo smistatore dirige il traffico verso il server più “scarico” di lavoro, bilanciando quindi il carico di lavoro stesso tra i due server, HA perchè se un server ha qualche problema, il portale rimane comunque fruibile, semplicemente spostando automaticamente tutte le richieste verso il server superstite.

L’unico reale punto di rottura è se si guasta il server frontale, ma è stato ritenuto un rischio accettabile in quanto questo server non ha praticamente altro scopo se non smistare le richieste verso gli altri due e lo fa praticamente usando solo la sua ram; i dischi vengono usati pochissimo.

Vediamo come sono stati strutturati i 3 server.

Server frontale
8 core Xeon E3 1230, 16 Gb ram, 2 Hd in raid1, rete 1Gbps

Server backend
8 core XeonE3 1230, 16 Gb ram, 4 Hd in raid10, rete 100Mbps

Dato che la maggior parte del carico di lavoro è demandato ai due backend, questi devono essere a loro volta molto affidabili; ecco perchè è stata prevista una configurazione in Raid 10 fisico.

Per sincronizzare i due backend è stato utilizzato ISPConfig in configurazione “master-slave”, MySql in configurazione “master-master” e unison per sincronizzare i file dei siti web.

Per il server di frontend si è optato per l’utilizzo di Xrctl.

I tre server sono “up&running” a oggi, 13 Gennaio 2015, da 620 giorni ininterrottamente

Updated: 28 gennaio 2015 — 16:24
Da.S.Co.S. © 2015 Frontier Theme