2
respostas

Posso utilizar fila e tópico para consumir a mesma publicação ?

Utilizando um exemplo parecido ao do curso, mas imaginando uma venda, poderia ter a geração de nota fiscal em fila, aí seria possível distribuir e ganhar em performance.

E ao mesmo tempo ter tópicos duráveis para garantir que dois consumidores executem o lançamento da venda, por exemplo consumidor para estoque e outro para comercial.

2 respostas

Oi Nilson, eu não sei se entendi direito... vou tentar deixar a resposta básica que é: se o evento só pode ser consumido uma vez, lembra de usar uma fila... se o mesmo evento pode ser consumido diversas vezes, aí um tópico te ajuda... cada listener do tópico pode fazer algo diferente.

Isso eu entendi, mas minha dúvida é se posso usar ambos ao mesmo tempo ? Fila e Tópico. Vou tentar exemplificar melhor.

Realizei uma venda, e imagina que temos três sistema diferentes que são listeners dessa mesma venda que fazem algo diferente. Dado esse cenário minha dúvida é se posso ter essa configuração no message broker:

  • Uma FILA que recebe o evento da venda, e o listener(sistema que gera nota fiscal) irá processar a nota fiscal (A idéia aqui seria tentar aproveitar o balaceamento caso necessário tendo mais listener pra essa mesma fila, para cenários onde posso ter muitas vendas)
  • Um TÓPICO que também recebe o evento da venda, e o listener (um sistema de controle de estoque) irá por exemplo atualizar o estoque
  • Um outro TÓPICO que também recebe o evento venda, e o listener (um sistema de relatório) que irá lançar em dados de relatório de vendas da empresa

A dúvida maior é se é possível isso, sei que não usei um exemplo que justifica essa necessidade, mas não consegui pensar em algo melhor.

Outra dúvida, fila e tópico com mesmo nome daria conflito ? Ou seja o message broker sabe diferenciar por tipo ?