Filas e mensageria
RabbitMQ, Kafka e o que muda entre uma fila de tarefas e um log de eventos.
Mensageria é a forma de um sistema pedir um trabalho a outro sem esperar a resposta: ele publica uma mensagem num intermediário, e quem estiver pronto a consome.
Filas desacoplam serviços, absorvem picos de carga e tiram do caminho do usuário tarefas lentas, como e-mails e relatórios. Em troca, o sistema passa a lidar com mensagens repetidas, atrasadas ou fora de ordem.
- Numa fila de tarefas, cada mensagem é processada por um consumidor e depois removida.
- Num log de eventos, como o Kafka, as mensagens ficam guardadas e podem ser relidas.
- Quase todo sistema entrega cada mensagem pelo menos uma vez, às vezes mais.
- Por isso, todo consumidor precisa tolerar a mesma mensagem duas vezes.