‫Qual é a melhor estratégia para atrasar seus contêineres a fim de mantê-los em um pedido específico, como
‫fazer D. B. Coelho Webb e assim por diante.
‫Portanto, a principal coisa é que esse nem é um OP dev, dizendo que é uma computação distribuída.
‫Suponho que você esteja falando de produção e não de fluxo de trabalho de desenvolvimento local com algo
‫como o Docker compor.
‫Mas você está falando sobre produção, todos os seus aplicativos precisam falhar ou tentar novamente.
‫Portanto, o fato é que, antes ou não do Docker, basicamente o que você está usando, ele precisa
‫se recuperar de alguma maneira, de não poder falar com outros serviços fora dele.
‫E este é um princípio central da computação distribuída.
‫Na verdade, se você procurar o que seria um recurso aqui, é um conjunto de 12 anos de princípios em torno da mentalidade da computação nativa
‫e distribuída em nuvem, esses são dois tipos diferentes, mas similares, de coisas que realmente
‫é sobre se eu tenho um monte de servidores ou um monte de coisas com as quais meus servidores
‫precisam conversar, como orquiro ou todos esses estão disponíveis quando eles
‫precisam estar disponíveis.
‫E a resposta é que você não pode controlar a inicialização corretamente, porque a inicialização é apenas uma parte do problema.
‫Quando você precisar substituir um contêiner, se os outros contêineres perderem a conexão, porque um contêiner ou qualquer outro serviço
‫fica inativo por um segundo, todos os outros serviços que o estão usando precisam
‫ser recuperados.
‫E, diferentemente dos velhos tempos, em que tínhamos um único servidor, colocamos o banco de
‫dados no site no mesmo servidor, que estava sempre disponível e on-line, até que o funcionamento fosse fácil.
‫Mas agora, neste mundo, distribuímos a computação de seus contêineres e todos os seus serviços devem ter isso
‫em mente.
‫Portanto, eles precisam ter uma nova tentativa que, se você estiver desenvolvendo, mais se arrependerá.
‫A maioria dos drivers de banco de dados foi criada com novas tentativas, projetadas para que, na verdade, você tente novamente
‫como o Mongo D. B. e nó. Na verdade, o js ainda possui um protocolo
‫de buffer no qual não pode se conectar, ele mantém os comandos por um pouco para aguardar o banco de dados voltar a ficar online.
‫Ele foi incorporado ao driver da sua linguagem de desenvolvimento, para que haja muitas coisas assim por
‫aí.
‫E se o seu aplicativo não fizer algo assim, falhará.
‫A coisa boa se você estiver usando a orquestração de contêiner é que parte desse trabalho
‫desse orquestrador é se o contêiner travar porque perde a conexão de algo, então o orquestrador será
‫reiniciado, basicamente iniciará uma nova cópia disso em outro lugar.
‫E essa é uma maneira de se recuperar de falhas.
‫É um pouco mais limpo e menos exigente em seus sistemas, se eles apenas tentarem novamente, mas outra maneira
‫no Docker de fazer isso é deixar seus aplicativos falharem essencialmente e o Docker os reiniciará com base nas suas
‫configurações.
‫Então eu sei que esse provavelmente não é o pequeno botão de clique.
‫Responda bastante.
‫As pessoas podem simplesmente responder: Oh, você precisa adicionar uma nova tentativa ao seu médico para compor ou algo assim, mas
‫isso não é uma solução de produção, porque isso só tem a ver com a inicialização original
‫e se você pesquisar no Google por algo como os scripts Wait for it, esses não realmente resolve todo o problema,
‫porque você está indo para uma das coisas é que, se
‫você começar a usar contêineres, você os atualizará com mais frequência, isso faz parte do progresso da implementação da mentalidade dos desenvolvedores.
‫as coisas serão atualizadas com mais frequência do que eram no passado, porque esse é um
‫dos principais inquilinos dos desenvolvedores em constante evolução e aprimoramento.
‫Então, quando você começa a fazer isso, significa que qualquer peça do seu quebra-cabeça precisa ser capaz de lidar com qualquer outra
‫peça do quebra-cabeça e você não pode realmente fazer isso com a ordem de inicialização, se você entende o que
‫quero dizer.
‫Espero que ajude.
‫É um problema difícil de resolver se você está lidando com aplicativos herdados, mas é um continuum.
‫Você precisa trabalhar continuamente para continuar com o processo de obter todos os aplicativos para lidar com falhas.
‫Essencialmente, não é um problema fácil.
‫É um processo a percorrer.