Superando Falhas em Arquiteturas de Eventos com Kafka

Marianna Fiorelli • January 1, 2025

A Arquitetura Orientada a Eventos (EDA) é uma prática essencial para o desenvolvimento de aplicações modernas, especialmente em cenários onde a escalabilidade, a resiliência e a capacidade de responder rapidamente a eventos em tempo real são críticas para o sucesso do negócio. Essa abordagem permite que sistemas se comuniquem de maneira assíncrona e desacoplada, facilitando a criação de aplicações mais modulares e flexíveis. 


Nesta arquitetura, um evento é um registro que representa uma ocorrência dentro do sistema, e sua comunicação é efetuada entre diferentes sistemas ou componentes por meio de mensagens, enviadas por produtores e recebidas por consumidores. O gerenciamento dos eventos é realizado por servidores conhecidos como brokers, que utilizam identificadores únicos para garantir o controle e a integridade do processamento.


O Apache Kafka é uma plataforma distribuída que desempenha um papel fundamental no desenvolvimento dessas aplicações orientadas a eventos. Amplamente utilizada em soluções que requerem publicação, assinatura, armazenamento e processamento de fluxos de eventos em tempo real, sua principal vantagem é a capacidade de reduzir a latência na comunicação e organizar os eventos em canais chamados tópicos. Esses tópicos são estruturados em partições, permitindo leitura e gravação de eventos de forma paralela, o que proporciona maior eficiência para aplicações críticas.


Veja também: Criação de projetos digitais: uma abordagem multidisciplinar


Reprocessamento na EDA

Uma das boas práticas na EDA é implementar um mecanismo de reprocessamento eficiente em caso de falhas. Isso pode ser alcançado por meio de estratégias como tentativas de reenvio (retries) e uso de filas de Dead Letter Queue (DLQ), estas últimas reservadas para mensagens que não puderam ser entregues ou processadas adequadamente.

O Kafka oferece a configuração necessária para que os consumidores reprocessem mensagens em caso de erro. Porém, esta abordagem apresenta um desafio: a partição onde ocorreu o erro fica bloqueada até que a mensagem seja processada com sucesso ou até que o limite de tentativas seja atingido. Esse bloqueio pode gerar gargalos, impedindo que outras mensagens dessa partição sejam processadas.


Estrutura de Reprocessamento com Tópicos

A estrutura de reprocessamento descrita neste artigo utiliza múltiplos tópicos de retry posicionados em diferentes níveis. Quando uma mensagem falha no tópico principal, ela é reconhecida como processada pelo tópico e enviada ao primeiro nível de reprocessamento. Caso a falha persista, a mensagem é transferida para o próximo nível, continuando esse processo até que a mensagem falhe em todos os tópicos de reprocessamento. Quando isso ocorre, a mensagem então é direcionada para o DLQ. O número de tópicos de reprocessamento é flexível, sendo adaptado às necessidades da aplicação.


Outra configuração que pode ser utilizada nesta solução é atribuir um tempo de espera para cada nível de tópico antes do início do reprocessamento. Esse mecanismo é importante para lidar com falhas temporárias, como a indisponibilidade momentânea de recursos externos, permitindo que esses recursos se recuperem antes que a mensagem seja executada novamente.

Sabia também: Reduzindo débitos técnicos: um checklist para a transformação digital


Tratamento de Erros no Reprocessamento

Para que o reprocessamento funcione corretamente, é necessário efetuar uma classificação do tipo de erro ocorrido. Caso o erro ocorra devido à indisponibilidade de um recurso, a mensagem deve ser enviada aos tópicos de retry para novas tentativas. Já se o erro for causado por problemas estruturais na mensagem, que exigem a intervenção da equipe de desenvolvimento, deve-se redirecionar essa mensagem diretamente para o DLQ. Dessa forma, os desenvolvedores podem analisar a causa raiz e realizar as correções necessárias para que a mensagem possa ser reprocessada com sucesso no futuro.



Vale ressaltar que o mecanismo de reprocessamento descrito neste artigo não é adequado em cenários onde a ordem de entrega para o processamento das mensagens é crítica. Em situações que exigem garantias de ordenação, a utilização de múltiplos tópicos para reprocessamento pode não ser a melhor abordagem.


Conclusão

A implementação de uma arquitetura orientada a eventos com Kafka combinada a uma estratégia adequada de reprocessamento é uma base sólida para o desenvolvimento de aplicações escaláveis e resilientes. Essa abordagem não apenas melhora a eficiência e a capacidade de resposta do sistema, mas também permite que as equipes de desenvolvimento criem soluções que se adaptam a falhas de maneira dinâmica, garantindo a continuidade do negócio. 


Quer saber mais sobre arquitetura orientada a eventos e ver como a e-Core pode te apoiar nos seus desafios? Clique aqui para falar com os nossos especialistas.

Marianna Fiorelli

Software Developer na e-Core


Combinamos experiência global com tecnologias emergentes para ajudar empresas como a sua a criar produtos digitais inovadores, modernizar plataformas de tecnologia e melhorar a eficiência nas operações digitais.


Isso pode te interessar:

IA aplicada a Estratégia Organizacional: casos práticos com Atlassian Intelligence, Rovo e Loom
By e-Core August 21, 2025
Veja como aplicar AI na estratégia organizacional e transformar produtividade, visibilidade e colaboração em vantagem competitiva.
Guia de Recursos: Técnicas de Fine Tuning em GenAI
By e-Core August 11, 2025
Por trás da popularização de GenAI e dos benefícios em eficiência e tomada de decisões, existe um grande trabalho ao identificar padrões em enormes volumes de dados, estabelecendo relações entre essas informações que precisa ser otimizada. Nesse e-book iremos conhecer melhor uma delas, o fine tunning.
By e-Core August 7, 2025
Durante o processo de procura de novas oportunidades de emprego é comum surgirem algumas dúvidas com relação a candidatura, processo, como se comportar e etc. Nesse texto você vai encontrar algumas dicas que podem te ajudar em diversas situações. Primeiro passo: A procura! Durante a pesquisa por vagas, que fazem sentido para cada um, é comum levarmos em consideração coisas como nome da empresa, nível da vaga, benefícios e se de fato temos a compatibilidade técnica e comportamental exigida. Porém, é de extrema importância analisar o quanto de afinidade a empresa e a oportunidade tem com você, pessoa candidata. Além de colocar na balança as exigências e as oportunidades, e fatores como a distância, horários e modelo de trabalho, lembre-se de prestar atenção à estrutura, à cultura e ao negócio da empresa. Uma boa forma de fazer isso é conferindo os feedbacks das pessoas que trabalham ou trabalharam na empresa, tanto nas redes sociais quanto no Glassdoor, por exemplo, para que você possa compreender no detalhe como é a cultura daquela empresa de acordo com os seus valores. Isso aumenta sua assertividade na hora de avaliar a Oferta de Emprego, bem como traz um prognóstico mais fiel de como será sua adaptação no novo desafio. Segundo passo: Participando do processo. O Processo começou, e agora? Nesta etapa é extremamente importante esclarecer as dúvidas e perguntar. Calma! O nervosismo é normal, mas lembre-se que é extremamente importante organizar as ideias e perguntar. Por exemplo, aqui na e-core temos algumas etapas onde você poderá tirar dúvidas direcionadas em cada fase: Na etapa de RH : nessa fase você consegue tirar dúvidas sobre benefícios, estrutura da empresa, iniciativas de saúde e bem estar, dentre outros pontos, principalmente relacionados à cultura no geral. Na etapa técnica : Nesta etapa você tem contato com pessoas da sua área, então as perguntas podem ser aprofundadas – como é o dia a dia de trabalho com seu futuro time? Como é o contato com o cliente? Quais tecnologias são utilizadas? Você gosta de trabalhar na empresa – e por quê? Na etapa de liderança: você consegue não só tirar dúvidas sobre o time, mas sobre desafios futuros, expectativas para o cargo e desenvolvimento profissional. Durante o processo seletivo, o ideal é aproveitar ao máximo e ter em mente que estamos nos avaliando mutuamente, e por isso tanto a empresa quanto você deve perguntar e esclarecer dúvidas sobre o que for necessário. Afinal é como o início de um relacionamento. Uma experiência positiva, durante um processo seletivo, está sempre ligada à transparência e feedback, independente do resultado. Tome alguns cuidados ao trazer seus exemplos vividos, lembre-se que o tempo de uma entrevista apesar de parecer longo, é muito curto, mas ele é tudo que temos para nos conhecer e ter um overview geral das suas experiências, e é onde nós do RH podemos entender se faz ou não sentido avançar com você para as próximas etapas. Por isso, busque organizar suas ideias para trazer suas experiências, evite ser prolixo (nós sempre pediremos mais informações quando necessário então não precisa se preocupar em contar tudo de uma vez, pois vamos focar nos pontos que são importantes para a oportunidade em questão), e o importante é focar em suas experiências, nos seus objetivos, metas e vulnerabilidades (afinal, todos temos!). Terceiro passo: Recebendo feedback do processo. Feedbacks nem sempre são fáceis, podem nos trazer um sentimento de medo antes mesmo de sabermos qual o assunto, mas respire, lembre-se que todo feedback nos traz um crescimento. Essa é uma etapa muito importante, pois estar com a mente aberta para feedbacks vai ajudar no seu desenvolvimento pessoal e profissional e vai deixar você, pessoa candidata, cada vez mais preparada. Todo feedback abre um espaço para pedir dicas de como se preparar, de como aprender mais, de como crescer! Pedir feedbacks não é problema, seu desenvolvimento é exclusivamente seu, por isso, esse comportamento é extremamente valorizado e vai te ajudar a criar redes de networking além de impulsionar seu desenvolvimento. Boa sorte na sua jornada! Bom, agora que já falamos sobre algumas dicas rápidas, lembre-se que você é o protagonista da sua carreira. Por isso, é importante analisar com cuidado e atenção os passos que você escolhe dar nesse trajeto. Busque conhecimento e não tenha medo de pedir feedbacks, assim, você estará cada vez mais perto de conquistar a oportunidade ideal e de crescer profissionalmente. Boa sorte na sua jornada!