• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina
Glue Labs

Glue Labs

Trasformiamo le tue idee in prodotti digitali di successo!

  • HOME
  • SOLUZIONI
  • NEWS
  • PRODOTTI
  • CONTATTI
  • CASE STUDY

Come scalare Stateful System: una possibile architettura basata sul consenso

Writer, Reader, Proxy e Raft per la realizzazione di autoscaling in Stateful System

L’attuale tendenza alla segregazione delle componenti ed alla scalabilità si traduce nell’introduzione della difficoltà di mantenere operativi “stateful system“, vale a dire sistemi che hanno consapevolezza dello stato ed hanno tutte le informazioni per gestirlo e mantenerlo. Nella pratica uno “stateful system” ha spesso database condivisi, sempre più complessi a causa della necessità di scalabilità e di archiviazione di qualsiasi informazione al fine di conoscere lo stato.

Mantenendo alcune componenti, di fatto, monolotiche per poterne condividere lo stato ci si espone a diversi rischi:

  • quasi certi maggiori costi perchè sono necessarie enormi risorse per mantenere l’operatività;
  • esposizione a possibili attacchi di tipo Denial of Service(DoS);
  • scarsa flessibilità dell’architettura.

Contattaci subito e senza impegno per superare questi rischi.

Autoscaling Stateful System: i problemi da affrontare

Quando si affronta l’implementazione della scalabilità negli statetul system occorre rispondere a domande come: dove applico la scalabilità? Come effettuo la scalabilità? Come muovo i dati tra i servizi scalati? Come i vari nodi possono raggiungere il consenso e quindi la parifica dei dati?

In pratica, se vuoi realizzare l’autoscaling negli stateful system, devi affrontare i seguenti problemi:

  • consenso: qualsiasi sistema distribuito che archivia uno stato deve essere d’accordo con quale sia il nuovo stato valido. E’ un problema noto e sono nati algoritmi come Ark, Raft e BDR che sono rispettivamente le tecnologie di costruzione del consenso di MongoDB, Redis e PostgreSQL.
  • autoscaling: seppur numerosi provider offrano l’autoscaling con un click, nel caso degli stateful system non ti è possibile mantenere completamente uno statetul system perchè l’autoscaling è legato alle risorse computazionali e non ai dati;
  • tempi per la data migration: un modo comune di scalare è quello di aggiungere un nuovo nodo, per es. in Kubernetes, ma quando si parla di stateful system è necessario considerare i tempi indispensabili affinchè i dati si sincronizzino e cosa accade quando la quantità di dati è enorme.
  • gestione della domanda: la scalabilità si attiva in base al numero di richieste che potrebbero essere costanti e graduale ma anche repentine ed enorme sia per un picco sia per un attacco DoS così potendo eventualmente generare indisponibilità del servizio.
  • cloud solution: buttarsi capo e piedi in un particolare cloud provider pensando che sia la soluzione si traduce, di fatto, in un lock-in che nello scenario strategico attuale non è mai una soluzione ideale.

Contattaci subito e senza impegno per costruire uno stateful system.

Una possibile soluzione all’autoscaling degli Stateful System

Partendo dal concetto base che la scalabilità vada costruita sia in maniera verticale(aumentare le risorse per es. maggiore potenza della CPU) sia orizzontale( aggiungere risorse per es. aggiungere un nuovo nodo) da pochi fino a migliaia di nodi in un cluster, è possibile costruire una soluzione agnostica, cioè indipendente dal tipo di dati da usare( JSON, serialized data, stream, blobs, ecc…) attraverso la creazione di:

  • Writer: un nodo che ha il compito di scrivere i nuovi stati ed è responsabile della replica dei dati. Il Writer è il leader del consenso e costruisci il concetto di sharding, cioè mantiene segmenti che insieme fanno il “tutto”;
  • Reader: un nodo che ha il compito leggere i dati e fornirli, crea connessioni multiple con il Writer leader ;
  • Proxy: un nodo che fornisce servizi anche per compiti non legati a scrivere e leggere dati. Di fatto è un nodo che funziona da gateway e load balancer che invia le richieste al Writer ed al Reader aggregando le risposte e fornendole al cliente. Viene replicato in caso di esigenze ;
  • Trigger non legato alle risorse ma alle risposte in modo garantire la risposta e non la risorsa(un concetto complesso in quanto una CPU che lavora al 99% potrebbe avere risposte in linea con la Customer Experience(CX) perchè magari fa un ottimo uso di cache e servizi avanzati).
  • Algoritmo di consenso come Raft in modo che il leader sia sempre unico e poter avere più leader che costruiscono il consenso su chi debba scrivere i dati.

E’ un Design dell’architettura complesso che però ti permette di costruire un sistema stateful resiliente e non ha alcun lock-in con i provider quindi avendo la possibilità di essere completamente integrato nel tuo scenario e trasferito dove reputi opportuno anche On-Premise.

Contattaci subito e senza impegno per realizzare un Proof of Concept(PoC).

Glue Labs e le Architetture IT

Siamo partner di Google Cloud e Vonage, abbiamo progettato ed implementato architetture complesse ed integrate grazie a Cloud Engineer e Solution Architect in ambiente Offline, On-Premise e Cloud. Grazie alle competenze specialistiche maturate in tantissimi settori e con numerosi Clienti ti forniamo assistenza e supporto, eroghiamo formazione avanzata e realizziamo architetture che ti permettono di gestire i tuoi dati in maniera stateful con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.

Continua la lettura

  1. Analisi Avanzata dei Big Data Industriali: Come l’AI Trasforma i Dati in Valore
  2. Le novità di Angular 19
  3. Consistenza, Disponibilità o Tolleranza: il dilemma del Teorema CAP nei database distribuiti

Categoria: Articoli Tags: Architecture Design, BDR, Cloud Architecture, kubernetes, MongoDB, PostgreSQL, Progettazione Architetture IT, raft, redis, stateful, stateless

Barra laterale primaria

Cosa facciamo

  • Catalogo dei servizi di CyberSecurity
  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • Pupau.ai
  • PushAPE
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • Termini e condizioni
  • Web Application
  • Web Design

Contatti

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove siamo

Roma: Piazza Don Sturzo 15
Milano: Via Lazzaretto 19
Torino: Via San Domenico 28
Altamura: Via Maggio 1648 24

"*" indica i campi obbligatori

Nome*
Questo sito è protetto da reCAPTCHA e si applicano le Normative sulla Privacy e i Termini di Servizio di Google.
Inviando i tuoi dati accetti le condizioni sulla Privacy. Li useremo per rispondere alle tue domande e richieste.
Consenso*
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Siamo parte di

La nostra Agenzia di Marketing

Footer

Partnership



Rimaniamo in contatto

Iscriviti alla nostra newsletter

Nome
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Soluzioni

  • Fractional Chief Information Security Officer(fCISO): la tua sicurezza informatica di livello executive, on demand
  • AI On Premise: la tua Intelligenza Artificiale privata e sicura
  • AI Discovery – Consulenza e Supporto
  • Alfabetizzazione in materia di Artificial Intelligence(AI) ai sensi art.4 dell’AI ACT
  • Audit di Configurazione Cloud: proteggi la tua infrastruttura da errori critici
  • Simulazione avanzata di Attacchi di Social Engineering: un approccio reale e basato sull’intelligence
  • Corso Apache JMeter Base ed Avanzato
  • Corso di Aggiornamento Front-End: Angular, React e Vue – Formazione Avanzata per Sviluppatori
  • Hosting, Consulenza, Assistenza e Supporto Tecnico su Large Language Model(LLM) e Artificial Intelligence(AI)
  • Corso AI nel lavoro quotidiano: come ottimizzare i processi aziendali con l’Intelligenza Artificiale

Articoli

  • I vantaggi dell’AI sovrana ed agentica: le parole dei nostri Clienti
  • Platform Engineering e Internal Developer Portal: dalla moda del Vibe Coding alla solidità dello sviluppo organizzato
  • API Gateway vs Load Balancer: differenze, scenari e soluzioni di integrazione
  • OpenClaw – L’Agente AI di nuova generazione
  • End-to-end testing con Playwright: Sicurezza, Affidabilità e Automazione per le tue Applicazioni
  • Keycloack: la gestione evoluta dell’identità digitale aziendale
  • Fractional Chief Information Security Officer(fCISO): la tua sicurezza informatica di livello executive, on demand
  • Data Mesh Organization: l’architettura per governare e valorizzare i dati aziendali
  • AI On Premise: la tua Intelligenza Artificiale privata e sicura
  • AI Discovery – Consulenza e Supporto

Le nostre sedi

  • Roma, Piazza Don Sturzo 15
  • Milano, Via Lazzaretto 19
  • Torino, Via San Domenico 28
  • Altamura, Via Maggio 1648 24

Contatti

  • Tel. +39 06 56549766
  • Fax +39 06 99335373
  • glue-labs@legalmail.it
  • info@glue-labs.com
  • Facebook
  • LinkedIn
  • Twitter

Scarica app da App StoreScarica app da Play Store


Glue Labs © 2011–2025 | Copyright | Privacy Policy | Codice Etico | Company Info | Cookie Policy

Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente a fini statistici anonimi. Senza un mandato di comparizione, il rispetto volontario da parte del tuo provider di servizi Internet o registrazioni aggiuntive da parte di terzi, le informazioni archiviate o recuperate solo per questo scopo non possono essere generalmente utilizzate per identificarti. L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
  • Gestisci opzioni
  • Gestisci servizi
  • Gestisci {vendor_count} fornitori
  • Per saperne di più su questi scopi
Visualizza preferenze
  • {title}
  • {title}
  • {title}