Capítulo 8. Semântica Exatamente Uma Vez
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
No Capítulo 7, discutimos os parâmetros de configuração e as melhores práticas que permitem aos utilizadores do Kafka controlar as garantias de fiabilidade do Kafka. Focámos na entrega pelo menos uma vez - a garantia de que o Kafka não perderá mensagens que reconheceu como confirmadas. Isso ainda deixa em aberto a possibilidade de mensagens duplicadas.
Em sistemas simples em que as mensagens são produzidas e depois consumidas por várias aplicações, as duplicações são um incómodo que é bastante fácil de resolver. A maioria das aplicações do mundo real contém identificadores únicos que as aplicações consumidoras podem usar para deduplicar as mensagens.
As coisas tornam-se mais complicadas quando olhamos para as aplicações de processamento de fluxos que agregam eventos. Ao inspecionar uma aplicação que consome eventos, calcula uma média e produz os resultados, é muitas vezes impossível para quem verifica os resultados detetar que a média está incorrecta porque um evento foi processado duas vezes durante o cálculo da média. Nestes casos, é importante fornecer uma garantia mais forte - semântica de processamento exatamente uma vez.
Neste capítulo, discutiremos como usar o Kafka com a semântica exactly-once, os casos de uso recomendados e as limitações. Como fizemos com as garantias at-least-once, vamos nos aprofundar um pouco ...