Multi-instância

Conheça a funcionalidade multi-instância da Plataforma Digibee

Leandro Oliveira avatar
Escrito por Leandro Oliveira
Atualizado há mais de uma semana

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 implantado nas instâncias a e b, na aba “Run”:

Respondeu à sua pergunta?