Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

parametros

Solucoes_totvs
SolucaoTOTVS Varejo Franquias e Redes

Linha de Produto:

PDV Sync

Segmento:

Segmentos_totvs
Segmento Varejo

Módulo:Workflow
Função:
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :

DVARINT1-14447

...

Alterações no MS Fila:

  • Inclusão dos seguintes parametros parâmetros na ConnectrionString: "Maximum Pool Size=50;Multiplexing=true;Connection Pruning Interval=5;Connection Idle Lifetime=10;Application Name=MsFila;" para otimizar o uso das conexões;
  • Inclusão de cache para armazenar a verificação de partição por inquilino;
  • Refatoração das Libs do projeto que estavam quebrando o build do Docker;
  • Ajuste na publicação de mensagens no PubSub para criar o tópico/subscrição apenas se esses não existirem;
  • Correção no armazenamento e recuperação do TipoLote no cache. 

Alterações no Worker RTS:

  • Inclusão dos seguintes parametros parâmetros na ConnectrionString: "Maximum Pool Size=80;Multiplexing=true;Connection Pruning Interval=5;Connection Idle Lifetime=10;Application Name=WorkerRTS;" para otimizar o uso das conexões;
  • Ajuste no semáforo que controla o fluxo de consumo da fila para 80 itens por vez;
  • Utilização do método "StartProcessingSubscriptionAsync" para consumir as mensagens por Stream em vez de por Pull;
  • Otimização de Queries e criação de métodos "Simple" que retornam dados menores;
  • Ajuste nos métodos de repositório utilizados pelo Worker para serem Async;
  • Ajuste na publicação de mensagens no PubSub para criar o tópico/subscrição apenas se esses não existirem;

...

Alterações no Worker SubLote:

  • Inclusão dos seguintes parametros parâmetros na ConnectrionString: "Maximum Pool Size=50;Multiplexing=true;Connection Pruning Interval=5;Connection Idle Lifetime=10;Application Name=WorkerSubLote;" para otimizar o uso das conexões;
    • Alteração feita apenas na conexão com o Banco Fila. Para aplicar a mesma configuração para o banco de Controle seriá seria necessário alterar todos os repositórios para Async.

...

Alterações no Worker Evento:

  • Inclusão dos seguintes parametros parâmetros na ConnectrionString: "Maximum Pool Size=50;Multiplexing=true;Connection Pruning Interval=5;Connection Idle Lifetime=10;Application Name=WorkerEvento;" para otimizar o uso das conexões;
  • Criação de semáforo que controla o fluxo de consumo da fila para 80 itens por vez;

...

  • Nos microsserviços de Produto, Cliente e Comercial, foram removidos removidas as verificações de Tenant e Lote. A alteração já havia sido feita em Prod, porém não foi repassada para Dev.  

...

Obs: Nos testes com Workflow (envolvendo Ms Fila, Worker RTS e Functions de Workflow) não foi possível aplicar um teste de carga satisfatório (que cobrisse o fluxo do dado de ponta a ponta), uma vez que as APIs do VO possuem um rate limite de 30 requests a cada 2s, como documentando documentado aqui: https://github.com/Varejonline/api/wiki/Limite-de-requisi%C3%A7%C3%A3o-%28Rate-Limit%29 

Neste cenário, para validar a capacidade de processamento dos serviços, foi inserido de forma manual o Id de uma dado da previamente cadastrado no banco de Fila, e varias várias requisições foram feitas pela ferramenta K6, validando a capacidade do WorkerRTS de
processar as mensagens, enviar para um MS de destino e um evento e enviar teste evento para o Worker de Eventos, validando também a capacidade desse último de enviar as requisições para o destino.

...