IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Multi-instância atualizada no nosso novo portal de documentação.
A funcionalidade multi-instância permite a implantação de um mesmo pipeline múltiplas vezes, atendendo a parâmetros diferentes. Desse modo, é possível configurar múltiplas instâncias que processem os dados conforme os parâmetros configurados em cada uma, utilizando o mesmo fluxo de integração.
Esta funcionalidade é muito utilizada quando precisamos utilizar o mesmo pipeline, isto é, a mesma lógica de construção, para acessar endpoints diferentes, como Contas e Globals, dispensando a necessidade de diversas versões do mesmo pipeline.
Casos de uso
Imagine que você precise extrair grandes quantidades de dados de um único banco de dados, e que o tempo para a execução da extração seja limitado. A partir desta funcionalidade, você consegue arquitetar uma estratégia de extração acelerada de dados, a qual utiliza de pipelines multi-instância para extrair grandes quantidades de dados de um banco de dados de maneira rápida e segura. Para isso, basta criar um pipeline, defini-lo como multi-instância e também criar uma configuração com as instâncias a serem utilizadas, estabelecendo intervalos específicos para cada uma delas. Desse modo, cada instância fica encarregada de extrair dados entre determinadas datas, como no exemplo abaixo:
INSTÂNCIA | INTERVALO |
Período 1 | 1-8/out |
Período 2 | 8-16/out |
Período 3 | 16-24/out |
Período 4 | 24-31/out |
A instância Período 1 é responsável por extrair todos os dados entre os dias 1 e 8 do mês de outubro, através de quantas execuções forem necessárias. As instâncias Períodos 2, 3 e 4 utilizam da mesma lógica de extração da primeira para buscarem e extraírem todos os dados nos demais intervalos de tempo. Assim, você estará aplicando uma estratégia que utiliza de datas específicas e de pipelines multi-instância para extrair uma grande quantidade de dados mais rapidamente. Seria perfeitamente possível realizar a extração de dados utilizando um pipeline simples, no entanto, ao utilizar um pipeline multi-instância, a extração pode ser realizada até 4 vezes mais rápido.
Além do caso de uso acima, você consegue utilizar um pipeline multi-instância para executar uma consulta idêntica em bancos de dados instalados em ambientes diferentes.
Também é possível publicar pipelines em dois ambientes diferentes. Para isso, basta publicar um pipeline multi-instância no ambiente test da Plataforma Digibee e configurá-lo para reportar a dois dos seus ambientes, por exemplo, QA e test. Assim, teríamos duas publicações em test reportando para dois ambientes.
Visão geral
Localizado na página de configurações da Plataforma Digibee, a página Multi-instância disponibiliza a listagem de todos os modelos de multi-instância já criados dentro da Plataforma e seus respectivos parâmetros de configuração. São eles:
Nome: nome do modelo de multi-instância;
Descrição: descrição do modelo de multi-instância;
Campo: as variáveis que receberão os valores em cada ambiente.
É possível editar, configurar e excluir os modelos de multi-instância listados através dos seguintes botões de ações:
Ação “Editar multi-instância”
Esta ação permite editar todos os parâmetros de configuração definidos no momento da criação do novo modelo de multi-instância. São eles: Nome, Descrição e Campos.
Ação “Configurar”
Esta ação permite criar, configurar e salvar as instâncias de cada modelo, inserindo e definindo valores para cada campo criado previamente.
Ação “Remover modelo”
Através desta ação, é possível excluir um modelo de multi-instância caso este não esteja sendo utilizado na Plataforma, seja em pipelines implantados, não implantados ou arquivados.
Como implantar um pipeline multi-instância?
1. Crie o modelo de multi-instância
Antes de criar as instâncias, você deverá criar um modelo de multi-instância. Para isso, acesse a página Multi-instância, em Configurações, e clique em “+ CRIAR” e defina um nome, uma descrição e os campos das instâncias, isto é, as variáveis que receberão os valores em cada ambiente (ex: test, qa1, qa2, prod). Veja o exemplo abaixo:
Feito isso, clique em “Confirmar” para criar o modelo.
2. Configure as instâncias
Agora, você poderá criar as instâncias que corresponderão ao modelo criado na última etapa. Para isso, localize o modelo na listagem e clique no botão da ação “Configurar” correspondente a ele. Desse modo, você poderá criar as instâncias desse modelo uma a uma inserindo e definindo valores para cada campo.
No exemplo abaixo, a e b são duas lojas que receberão os valores de cada variável (que podem ser configuradas tanto para test quanto para prod), e isso se repete para todas as demais instâncias a serem criadas.
Abaixo, exemplo de criação de outra instância (c):
Após informar as variáveis, basta clicar em “Salvar”.
3. Crie um pipeline multi-instância
Nesta etapa, vamos criar um pipeline e defini-lo como multi-instância. Para isso, acesse as configurações clicando no botão de configurações:
Selecione a opção "É multi-instância?", como no exemplo abaixo:
Após a opção “É multi-instância?” ser selecionada, informe a qual modelo de multi-instância o pipeline reportará. No nosso exemplo, estamos utilizando o modelo “article-multi-instance”.
IMPORTANTE: Após definir o pipeline como multi-instância, não será possível reverter essa configuração. Por outro lado, é possível transformar qualquer pipeline, implantado ou não, em um pipeline multi-instância.
Por ser um evento, devemos informar no trigger uma variável da instância que será executada através do padrão -{{replica.nome_da_variavel_da_instância}}
, como no exemplo abaixo:
Realizando consultas no Test mode
Ao executar o Test mode em um pipeline multi-instância, a primeira coluna da aba TESTE permitirá que você informe a instância a qual pretende executar, como no exemplo abaixo:
Desse modo, é possível consultar os valores previamente configurados na instância selecionada através do padrão {{replica.nome_da_variável_da_instância}}
.
4. Implantando um pipeline multi-instância
Agora que você já configurou o modelo e definiu o pipeline como multi-instância, é necessário editar a solicitação do pipeline com a instância em que pretende implantá-lo. Desse modo, o nome da instância será adicionado ao nome do pipeline após a implantação. Por exemplo: uma vez que o pipeline "multi-instance-example” for implantado na instância a, seu nome na aba “Run" será "multi-instance-example-a".
No exemplo abaixo, o pipeline “multi-instance-example” está sendo implantado na instância a.
No exemplo abaixo, o pipeline “multi-instance-example” está sendo implantado na instância b.
Após a edição, basta clicar em “IMPLANTAR”.
Abaixo, o pipeline “multi-instance-example” já implantado nas instâncias a e b, na aba “Run”: