Scalabilità del sistema
Scalabilità e modularità dell'architettura
Dal punto di vista delle performances e della stabilità l'architettura del prodotto è stata studiata fin dall'inizio per supportare le seguenti caratteristiche:
Scalabilità
- Front end layer e business layer sono completamente distribuibili su architetture load balanced, permettendo di scalare orizzontalmente (con sola aggiunta di nuovi nodi, senza riconfigurazione nè reimplementazioni) all'aumentare dei carichi.
- Service layer è sia distribuibile su architetture load balanced che replicabile in modalità hot standby.
In questo modo viene garantito il funzionamento dell'applicativo rispetto a failure dei nodi fisici, e si rende possibile, per i provider che lo supportano, avere più connettori attivi, bilanciando in questo modo il carico e aumentando conseguentemente le performances. - Database layer sono state sperimentate tecnologie di read partitioning e write replication a livello Java (indipendenti dal database) così come si è analizzata la possibilità di utilizzare MYSQL in modalità clustered (richiede l'acquisizione di licenze commerciali di mysql).
Componibilità
L'utilizzo del framework Spring permette una totale componibilità dei servizi che risiedono sui diversi nodi fisici, permettendo di realizzare senza alcuna reimplementazione architetture fisiche differenti.
