‫Qual è la migliore strategia per ritardare i tuoi container al fine di tenerli su un ordine specifico come
‫fare D. B. Webb rabbit e così via.
‫Quindi la cosa numero uno è che questo non è nemmeno un OP per sviluppatori che dice che è una cosa di calcolo distribuito,
‫vero?
‫Presumo che tu stia parlando della produzione e non del flusso di lavoro di sviluppo locale con qualcosa
‫come Docker compose.
‫Ma stai parlando di produzione, tutte le tue app devono poter fallire o riprovare.
‫Quindi l'intero mi piace se questo è prima di Docker praticamente qualunque cosa tu stia usando lì deve recuperare
‫in qualche modo dal non poter parlare con altri servizi al di fuori del suo.
‫E questo è un principio fondamentale del calcolo distribuito.
‫In effetti, se si cerca quale risorsa sarebbe qui è 12 fattore dodici fattore punto net è una specie di un decennio di principi intorno alla mentalità
‫del cloud nativo e del calcolo distribuito quelli sono due tipi diversi ma simili di cose
‫che in realtà si tratta se ho un sacco di server o un sacco di cose con cui i miei
‫server devono parlare come posso o orchestrarli tutti per renderli disponibili quando
‫devono essere disponibili.
‫E la risposta è che non puoi controllare l'avvio perché l'avvio è solo una parte del problema.
‫Quando è necessario sostituire un contenitore se gli altri contenitori perdono la connessione da esso perché un contenitore o qualsiasi altro
‫servizio si interrompe per un secondo, tutti gli altri servizi che lo utilizzano devono
‫essere ripristinati.
‫E così a differenza dei vecchi tempi in cui avevamo un singolo server e mettevamo il database
‫nel sito Web sullo stesso server e che era sempre disponibile e online fino a quando non è stato facile.
‫Ma ora in questo mondo abbiamo distribuito il calcolo dei tuoi contenitori e tutti i tuoi servizi devono
‫tenerlo presente.
‫Quindi entrambi hanno bisogno di riprovare che se si sta sviluppando lo sviluppo più dispiaciuto.
‫La maggior parte dei driver di database ha tutti i tentativi integrati progettati in modo che possano riprovare a conoscerti
‫come Mongo D. B. e nodo. js in realtà ha anche un
‫protocollo buffer in cui non può connettersi, conterrà i comandi per un po 'in attesa che il database torni online.
‫È appena integrato nel driver per il tuo linguaggio di sviluppo, quindi ci sono un sacco di cose là fuori in quel
‫modo.
‫E se la tua app non fa nulla del genere, fallisce.
‫La cosa bella se stai usando l'orchestrazione del contenitore è che parte del lavoro di quell'orchestratore è
‫se il contenitore si arresta in modo anomalo perché perde la connessione da qualcosa, quindi l'orchestratore si riavvierà
‫fondamentalmente avvierà una nuova copia di quello da qualche altra parte.
‫E questo è un modo per riprendersi dal fallimento.
‫È un po 'più pulito e meno tassativo per i tuoi sistemi se si riprovano, ma un altro modo
‫per farlo è semplicemente lasciare che le tue app si blocchino essenzialmente e quindi Docker le riavvierà in base alle tue
‫impostazioni.
‫Quindi so che probabilmente non è il piccolo pulsante clic.
‫Rispondi molto.
‫Le persone potrebbero semplicemente rispondere Oh, devi aggiungere un nuovo tentativo al tuo medico o qualcosa del genere, ma
‫questa non è una soluzione di produzione perché deve solo fare che ha a che fare
‫solo con l'avvio originale e se anche google per qualcosa come Attendi script che quelli risolverai davvero l'intero problema o
‫perché stai andando a una delle cose è che se inizierai
‫a usare i contenitori, li aggiornerai più spesso che fa parte del progresso dell'implementazione della mentalità degli sviluppatori le cose verranno
‫aggiornate più spesso di quanto lo fossero in passato, perché quello è uno dei principali
‫responsabili degli sviluppatori che si evolve e migliora continuamente.
‫Quindi, quando inizi a farlo, ciò significa che ogni singolo pezzo del tuo puzzle deve essere in grado di gestire qualsiasi
‫altro pezzo del puzzle che va giù e non puoi davvero farlo con l'ordine di avvio se sai cosa
‫intendo.
‫Spero che questo aiuti.
‫È un problema difficile da risolvere se hai a che fare con app legacy ma è un continuum.
‫Devi lavorare continuamente per continuare il processo per far sì che le tue app gestiscano tutti i guasti.
‫Fondamentalmente non è un problema facile innit.
‫È un processo da seguire.