A orquestração de microsserviços ajuda a criar processos complexos em produtos. Para não ter que escrever essa mecânica à mão, os desenvolvedores podem usar estruturas prontas que incluem ferramentas para gerenciar microsserviços. Nós da True Engineering estudamos esse tópico e falamos sobre três dessas estruturas.
Ao automatizar um processo de negócios complexo, um produto pode envolver vários microsserviços de uma vez. E se for bastante simples construir a interação de vários módulos em um monólito, então em uma arquitetura distribuída, onde cada um desses componentes é um aplicativo separado, surgem dificuldades.
O orquestrador de microsserviços monitora a execução dos processos. Como resultado, os dados não são perdidos, torna-se mais fácil para o suporte corrigir problemas e torna-se mais fácil para os desenvolvedores gerenciar o desenvolvimento de todo o sistema.
Você pode escrever um módulo do zero ou usar uma estrutura pronta. Se uma empresa possui várias equipes de desenvolvimento, tais estruturas são indispensáveis. Primeiro, os programadores não precisam fazer o mesmo trabalho repetidamente. Em segundo lugar, quando todos usam ferramentas comuns, as equipes têm padrões uniformes de trabalho e isso afeta imediatamente a qualidade dos produtos. Em vez de reinventar a roda, todos estão se concentrando no desenvolvimento de uma ferramenta comum.
Arquitetura da estrutura de orquestração
A estrutura inclui componentes de orquestração prontos para uso. Este é o próprio orquestrador, que aceita tarefas e as transfere para microsserviços ativos para execução.
(, ), , . « », « », « ». . , , .
, .
. , . , .
. . , - , , - . , Saga – , - .
. , .
. , (, Java .NET).
, . , .
Conductor Netflix. - JSON-. , . - – .
Zeebe Camunda. Camunda – BPMN-, (, -). Camunda, Zeebe . – , -. XML-.
Temporal. . – , . .
:
. Zeebe . Temporal – .
. , yj Zeebe . Saga .
. .
. Java-, .NET- .
A comparação mostra que não há solução mágica - cada estrutura é boa à sua maneira. A ferramenta precisa ser selecionada em uma caixa de diálogo com comandos - alguém pode se sentir mais confortável trabalhando com JSON, outro apreciará a visualização e o terceiro desejará usar código limpo.
Mas qualquer estrutura é melhor do que incorporar a orquestração no código de cada produto separadamente. Dessa forma, os desenvolvedores precisam mergulhar novamente na mecânica e sobrecarregar o código todas as vezes. E em toda a empresa, você obterá padrões uniformes que ajudam a reunir todas as suas equipes em uma plataforma de desenvolvimento comum.