Esta documentação tem como objetivo padronizar o uso das filas em nossos sistemas, seguindo boas práticas para gerenciamento de tarefas e colaboração. O fluxo de trabalho adotado será baseado no conceito de filas, onde as tarefas são organizadas e processadas de forma eficiente.
Esses sistemas enviam solicitações relacionadas a pagamentos para a fila Kafka por meio da API Produtor.
Utilizado para intermediar a comunicação assíncrona entre os sistemas. Os tópicos são nesse padrão:
sistema.contexto.tarefa, onde contexto é o contexto da notificação e tarefa é a ação a ser realizada.
sistema.pagamento.efetuadosistema.pagamento.falhasistema.notificacao.enviarsistema.gerador.geradosistema.gerador.falhaResponsável por publicar mensagens nos tópicos Kafka. Desenvolvida em Node.js (produtor.uitec.com.br). As mensagens contêm informações como:
Consome as mensagens dos tópicos Kafka e realiza a ação correspondente, como atualizar o status do pagamento nos sistemas internos. Desenvolvida em Node.js (consumer.uitec.com.br).
Gateway de pagamento utilizado para efetuar transações. A API Produtor se comunica diretamente com o ASAAS para realizar os pagamentos.
Tópico é um canal de comunicação dentro do Kafka, onde as mensagens são publicadas e consumidas. Cada tópico é identificado por um nome único e pode conter várias mensagens. Os tópicos são utilizados para organizar as mensagens de acordo com o contexto e a ação a ser executada.
Ficaram organizados da seguinte forma:
[sistema].[modulo].[acao]
Para notificar o Kafka, você deve enviar uma mensagem para o tópico apropriado usando a API Produtor. A mensagem deve conter todas as informações necessárias para que o sistema consumidor possa processá-la corretamente.
POST http://produtor.uitec.com.br/apiContent-Type: application/jsonAuthorization: Bearer {token}
{
"topic": "sistema.modulo.acao",
"message": "examaple message",
}
POST http://produtor.uitec.com.br/pagamentoContent-Type: application/json
{body do asaas}
A API Consumer é responsável por consumir as mensagens do Kafka e processá-las conforme necessário. Ela escuta os tópicos configurados e executa as ações correspondentes às mensagens recebidas.
GET http://consumer.uitec.com.br/Content-Type: application/jsonAuthorization: Bearer {token}