Registro servizi - è necessario?

2

Supponiamo di sviluppare un sistema con più servizi (implementato da diversi team, in paesi diversi, utilizzando diverse tecnologie tra cui java, php, c #, c ++ e altro). Supponiamo che, nonostante l'utilizzo di tecnologie diverse, in qualche modo tu abbia accettato di integrarti usando le API RESTful.

Un tale sistema ha bisogno di un registro dei servizi?

Capisco che fondamentalmente non è obbligatorio, dal momento che ogni servizio può avere una propria configurazione in cui si trova il servizio che utilizza. Tuttavia, la creazione di una posizione centrale semplifica la vita delle operazioni: non è necessario configurare lo stesso servizio più volte.

Ma la creazione di un registro di servizio può essere complessa. È un altro sistema nella soluzione e richiede risorse e proprietà ancora più importanti. Chi lo possiederà?

Posso pensare a più pro e contro di un registro dei servizi. Allora, cosa ne pensi?

    
posta Tarlog 29.04.2012 - 17:02
fonte

1 risposta

4

In un sistema complesso come quello che descrivi, direi che la configurazione di quel sistema è almeno altrettanto importante, se non di più, di ogni singolo componente. Spesso nella mia esperienza, quando un sistema complesso su cui lavoro non funziona, è la configurazione, non un singolo componente, che è responsabile del fallimento. Un'analogia che mi piace usare è quella di un lucchetto: solo quando tutti i tumbler sono allineati correttamente si aprirà.

Quindi ti consiglio di fare un sacco di sforzi per rendere le configurazioni corrette facili da configurare, monitorare e implementare. Spetta a te decidere se utilizzare un registro di servizio separato o qualche altro meccanismo. Recentemente ho preso le informazioni di configurazione della confezione come pacchetti Debian (usiamo Ubuntu) che sono installati da un repository centrale. Altri usano sistemi di terze parti come ZooKeeper .

Quindi, per rispondere alle tue domande specifiche, un sì qualificato ad avere un registro di servizio. Qualificato perché la forma esatta del sistema di gestione è meno importante di averne uno e usarlo bene. Il suo proprietario dovrebbe essere la stessa persona o gruppo responsabile di un sistema funzionante correttamente. Questi potrebbero essere gli sviluppatori stessi (un'organizzazione DevOps) o forse un team dedicato alle operazioni (più tradizionale). La configurazione iniziale dei sistemi dovrebbe essere uno sforzo congiunto con tutte le parti interessate che partecipano alle specifiche della configurazione. Una volta fatto, un piccolo gruppo o persona può gestire l'implementazione.

    
risposta data 29.04.2012 - 23:48
fonte

Leggi altre domande sui tag