Mantenere Semaphore disponibile quando un nodo si ferma

Posiziona nodi Semaphore attivi dietro un unico indirizzo di servizio. Mantieni interfaccia e API raggiungibili durante la manutenzione dei nodi, con database condiviso e coordinamento Redis.

L’automazione rimane disponibile tramite un secondo nodo Semaphore quando un nodo applicativo diventa indisponibile.

L’infrastruttura dipende dalla disponibilità dell’automazione

Durante un incidente il team deve poter usare Semaphore per job di recupero e modifiche infrastrutturali. Un nodo applicativo indisponibile non dovrebbe rimuovere questo accesso.

Un nodo applicativo offline
Aprire l’interfaccia Usare l’API Avviare i job

Mantenere Semaphore disponibile con Enterprise HA

Enterprise HA mantiene interfaccia e API disponibili tramite nodi sani quando un altro nodo si ferma.

Un altro nodo applicativo continua a rispondere
Aprire l’interfaccia Usare l’API Avviare i job

Cosa serve a Semaphore per HA

01

Due o più nodi Semaphore

Esegui almeno due istanze Semaphore equivalenti. Mantieni allineata la configurazione condivisa e assegna a ogni nodo un identificativo unico ha.node_id.

02

Bilanciamento HTTP e WebSocket

Instrada HTTP e WebSocket attraverso un bilanciatore capace di rimuovere nodi non sani.

03

Database SQL condiviso e Redis

Collega ogni nodo allo stesso database PostgreSQL o MySQL e backend Redis. Proteggi anche questi servizi condivisi dai guasti. SQLite non è supportato per HA.

Il traffico HTTP e WebSocket raggiunge due nodi Semaphore attivi tramite un bilanciatore. Entrambi condividono database PostgreSQL o MySQL e coordinamento Redis.

Pianificare il resto del deployment produttivo

Posizionare l’esecuzione vicino all’infrastruttura

Usa runner per reti private e capacità indipendente.

Runner

Dare ai team gli accessi necessari

Abbina il deployment a ruoli di progetto e controlli di accesso Enterprise.

Controllo degli accessi

Pianificare la disponibilità dell’intero deployment

Rendere visibile lo stato condiviso nell’architettura

La topologia è attiva-attiva: nodi equivalenti condividono PostgreSQL o MySQL e Redis. Il database contiene lo stato; Redis supporta blocchi distribuiti, code e aggiornamenti. SQLite e BoltDB non sono supportati per questa HA.

Supportare richieste e aggiornamenti in tempo reale

Il bilanciatore deve gestire HTTP e WebSocket per raggiungere nodi sani e ricevere aggiornamenti live. Ridondanza, TLS, health check e comportamento operativo sono parte del deployment. Aggiungere nodi non configura automaticamente queste proprietà.

Scalare separatamente applicazione ed esecuzione

I nodi applicativi forniscono interfaccia web, API e coordinamento. I runner possono posizionare ed espandere l’esecuzione indipendentemente. Il team può così distinguere se una variazione di capacità riguarda carico utenti/API, concorrenza dei task o accesso a un’altra rete, invece di presumere che ogni nuovo nodo risolva tutti e tre.

Dare a ogni dominio di guasto un piano di recupero

Disponibilità dei nodi, recupero del database, disponibilità Redis e disaster recovery del sito sono responsabilità distinte. Backup, prove di ripristino, obiettivi di recupero e aggiornamenti compatibili restano necessari. Una topologia può tollerare un guasto e rimanere vulnerabile a un altro.

Mantenere il coordinamento con Redis Sentinel

Usa Redis Sentinel se anche il coordinamento richiede failover. Ogni nodo scopre il master attivo tramite Sentinel e segue una replica promossa senza riavvio. Configura lo stesso Sentinel sui nodi con la disponibilità di database e bilanciatore.

Includere dipendenze condivise nel piano di disponibilità

Database SQL, Redis e bilanciatore servono tutti i nodi. Configura ridondanza e recupero insieme ai nodi Semaphore.

Mantenere un percorso di recupero dei dati

Ridondanza applicativa e recupero dei dati risolvono problemi diversi. Mantieni backup e testa il ripristino del database e della configurazione da cui dipende l’automazione.

FAQ

Quali componenti servono per HA Semaphore?

L’architettura attiva-attiva usa più nodi Semaphore, database PostgreSQL o MySQL condiviso, Redis e bilanciatore HTTP/WebSocket. Ogni nodo richiede impostazioni condivise corrette e identificativo HA unico. Pianifica anche le dipendenze. Un secondo processo non fornisce da solo stato e coordinamento della topologia completa.

Semaphore HA è attivo-attivo o attivo-passivo?

L’architettura descritta è attiva-attiva con nodi equivalenti. Non richiede un primario dedicato e un nodo passivo. Usa la guida attuale per il modello supportato e non dedurre un’architettura attiva-passiva separata da descrizioni generiche di disponibilità. Per altre topologie chiarisci stato e failover prima del deployment.

Posso usare SQLite o BoltDB in un deployment HA?

No. L’architettura HA documentata richiede database PostgreSQL o MySQL condiviso insieme a Redis. Il database è la fonte comune dello stato applicativo dei nodi. Se parti da un singolo nodo con altro storage, pianifica migrazione, backup e validazione separatamente. Non aspettare di aggiungere nodi per verificare che il database condiviso contenga e fornisca i dati necessari.

La HA applicativa protegge anche database, Redis e bilanciatore?

Questi componenti richiedono una strategia di resilienza propria. Il modello multi-nodo non crea automaticamente failover database, bilanciamento ridondante o Redis disponibile. Identifica dominio di guasto, recupero e capacità di ogni dipendenza. Testa tutto dalla richiesta al risultato, perché il piano copra il servizio usato e non solo il numero di nodi.

I task attivi sopravvivono a guasti o aggiornamenti dei nodi?

Più nodi applicativi non garantiscono continuità delle esecuzioni in corso. Il comportamento dipende dal percorso di esecuzione, dal componente guasto e dalla versione utilizzata. Testa il ciclo di vita necessario, comprese segnalazioni di stato e coinvolgimento dei runner. Pianifica anche compatibilità degli aggiornamenti e migrazioni, senza considerare ogni cambio versione un aggiornamento progressivo senza interruzioni garantito. Disponibilità dell’interfaccia e continuità dei task sono requisiti diversi.

Quale offerta include HA e come valutarla?

L’alta disponibilità è una funzionalità Enterprise. Parti da orari operativi, manutenzione, obiettivi di recupero e servizi database e bilanciamento esistenti. Usa la topologia documentata per individuare lacune, poi testa rimozione di nodi, recupero delle dipendenze e backup in un ambiente rappresentativo. Un confronto architetturale è utile per requisiti critici, perché il risultato dipende dal deployment completo e non da un singolo interruttore.

Gli utenti possono mantenere lo stesso URL se un nodo applicativo viene fermato?

È lo scopo di avere nodi attivi dietro un unico indirizzo bilanciato. Il bilanciatore deve smettere di inviare richieste al nodo non disponibile e supportare HTTP e WebSocket. Il nodo superstite necessita comunque di database condiviso, Redis e configurazione coerente.

Serve HA per eseguire task in più reti private?

No. I runner gestiscono più posizioni. La HA riguarda l’applicazione Semaphore, i runner dove girano i task e cosa raggiungono. La produzione può combinare nodi HA per UI e API con runner di progetto vicini alle reti private.