Pular para o conteúdo principal

Pergunta 7 de 50

Kafka versus AWS SQS

SêniorTech Lead

Pergunta

"Como você compara Kafka com o SQS da AWS? Você já teve que escolher entre os dois?"

O que o entrevistador quer avaliar

Conhecimento prático de cloud, além de Kafka em si — muito comum em empresas com infraestrutura AWS. Quer ver se você sabe quando o gerenciamento zero-config do SQS compensa versus a flexibilidade do Kafka.

Resposta rápida

SQS é uma fila totalmente gerenciada pela AWS, sem retenção após o consumo e sem replay nativo — apenas redrive de mensagens que falharam, via DLQ. Kafka retém eventos por um período configurável e permite que múltiplos consumidores independentes leiam o mesmo dado, com replay completo via reset de offset. Escolho SQS quando quero zero operação e o caso é fila de trabalho simples; Kafka quando preciso de histórico compartilhado entre vários sistemas.

Resposta nível Sênior

SQS Standard e FIFO são filas gerenciadas: você não opera infraestrutura, mas a mensagem desaparece após o ack (ou expira). SQS FIFO garante ordem dentro de um message group e evita duplicidade, mas isso resolve ordenação, não resolve retenção de longo prazo nem múltiplos consumidores independentes do mesmo dado — para isso, o padrão AWS é combinar SNS (fan-out) com múltiplas filas SQS, uma por consumidor. Kafka nativamente oferece isso com Consumer Groups, além de reter o evento por dias e permitir reset de offset para reler histórico — algo que o SQS não tem equivalente direto, porque uma vez removida da fila, a mensagem não pode ser relida a partir dali. A troca é operação: SQS não exige gestão de cluster; Kafka (auto-hospedado) exige, a menos que se use um serviço gerenciado como MSK ou Confluent Cloud.

Explicação aprofundada

Veja a tabela comparativa completa no Capítulo 2, incluindo a diferença entre replay do Kafka e DLQ redrive do SQS.

Exemplo financeiro

Uma fila SQS pode processar a tarefa "enviar comprovante de PIX por e-mail" — trabalho único, sem necessidade de replay. Já o evento de domínio PixRecebido, que interessa a saldo, extrato e antifraude de forma independente e pode precisar ser reprocessado em auditoria, é melhor modelado como um tópico Kafka.

"SQS FIFO resolve os mesmos problemas que o Kafka"

SQS FIFO resolve ordenação e deduplicação dentro de um message group, mas continua sendo uma fila — sem retenção de longo prazo nem replay de histórico. Tratá-lo como substituto completo do Kafka é um erro comum em entrevistas.

Pode vir a seguir

Prepare-se para: "como você faria replay de eventos se estivesse usando só SQS?" e "qual a diferença entre DLQ redrive e replay do Kafka?".

Capítulos relacionados