Essa pergunta pode ser uma indicação de um corte arquitetural ruim em microsserviços. De O que são microsserviços? :
Esses serviços são construídos com base nos recursos de negócios e
implementáveis de forma independente por máquinas de implantação totalmente automatizadas.
O ponto principal esquecido nesse caso seria o aspecto de implantação independente .
O ponto também pode ser simplesmente mal compreendido: isso não significa necessariamente que cada microsserviço deve ser capaz de executar toda a sua funcionalidade por si só, apenas significa que é capaz de resgatar normalmente quando algum outro microsserviço do qual sua funcionalidade depende não estiver disponível, talvez acompanhando o material "todo" para execução posterior, quando esse microsserviço estiver disponível.
Visto de uma perspectiva diferente: o tratamento da indisponibilidade de dependências externas de serviço deve, na verdade, fazer parte de cada funcionalidade de microsserviço - para que você possa considerar o microsserviço totalmente funcional, mesmo quando suas dependências de tempo de execução não forem satisfeitas :)
Vale a pena notar, eu acho, que nos comentários acima, estou me referindo à indisponibilidade de microsserviços, independentemente de sua razão, seja ordem de dependência de implantação ou outra coisa (interrupções, por exemplo).
Outra coisa a considerar seria a diferença mais fina entre implantar os microsserviços e colocá-los em ação alternando o tráfego para eles. A troca de tráfego geralmente é mais rápida que a própria implantação, portanto, a disponibilidade em todo o nível do sistema pode ser aumentada implantando-se primeiro todos os microsserviços e somente depois executando a troca de tráfego para todos eles.
Tivemos uma situação semelhante em que um de nossos aplicativos tinha que ser construído, implantado e estar em funcionamento antes do segundo. Isso ocorreu porque o aplicativo A possui algumas funcionalidades que devem ser executadas antes de serem referenciadas pelo aplicativo B. A maneira como conseguimos isso foi construindo-o em um único pipeline de entrega. Dessa forma, todas as dependências foram implantadas sequencialmente ou paralelamente, conforme necessário. Também tivemos nossos scripts de banco de dados em sequência, além dos recursos de reversão, apenas por precaução. Reescrevendo o seu caso, você pode implantar sua API antes do serviço de front-end. Espero que isto ajude.
fonte
A solução aqui é implantar os microsserviços usando o padrão de implantação azul / verde.
fonte