Pergunta 7 de 50
Kafka versus AWS SQS
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