BACKEND30 perguntas • ~12 min

Quiz de Mensageria: SQS e Kafka

Teste seus conhecimentos sobre mensageria distribuída, filas e streams de eventos.

Quiz de Mensageria: SQS e Kafka

Teste seus conhecimentos sobre mensageria distribuída, filas e streams de eventos.

  1. 1. Qual é o objetivo principal de uma fila de mensagens em um sistema distribuído?

    • Armazenar dados permanentemente em um banco de dados relacional
    • Desacoplar produtores e consumidores para que possam operar de forma independente
    • Sincronizar requisições HTTP entre microsserviços
    • Fornecer um cache compartilhado em memória para os serviços
  2. 2. No modelo produtor/consumidor, qual é o papel de um produtor?

    • Ler e processar mensagens da fila
    • Gerenciar a infraestrutura da fila e as regras de roteamento
    • Enviar mensagens para a fila visando o processamento posterior
    • Monitorar a profundidade da fila e acionar o escalonamento automático
  3. 3. O que é o Amazon SQS?

    • Um serviço de banco de dados relacional totalmente gerenciado da AWS
    • Um serviço de enfileiramento de mensagens totalmente gerenciado da AWS
    • Uma plataforma distribuída de streaming de código aberto
    • Um mecanismo de computação serverless para trabalhos em lote
  4. 4. Qual é a principal diferença entre uma fila SQS Standard e uma fila SQS FIFO?

    • Filas Standard garantem ordem estrita das mensagens; filas FIFO não garantem
    • Filas FIFO garantem ordenação e processamento exatamente uma vez (exactly-once); filas Standard oferecem ordenação por melhor esforço e entrega pelo menos uma vez (at-least-once)
    • Filas Standard suportam criptografia; filas FIFO não suportam
    • Filas FIFO são mais baratas, mas não possuem limites de vazão
  5. 5. O que significa 'entrega pelo menos uma vez' (at-least-once delivery) em um sistema de mensageria?

    • Uma mensagem é entregue exatamente uma única vez, sem duplicatas
    • Uma mensagem pode ser entregue mais de uma vez, portanto os consumidores devem lidar com duplicatas
    • Uma mensagem só é entregue se o consumidor estiver online
    • Uma mensagem nunca é entregue mais de uma vez por grupo de consumidores
  6. 6. O que é uma Dead Letter Queue (DLQ)?

    • Uma fila que exclui mensagens automaticamente após 1 minuto
    • Uma fila secundária para onde as mensagens são enviadas após falharem no processamento por um número configurado de vezes
    • Uma fila de alta prioridade voltada para alertas urgentes do sistema
    • Uma fila que armazena apenas metadados sobre mensagens processadas
  7. 7. O que é o Apache Kafka?

    • Um banco de dados relacional otimizado para dados de séries temporais
    • Uma plataforma distribuída de streaming de eventos projetada para mensageria de alta vazão e tolerante a falhas
    • Um serviço de cache em memória gerenciado pela AWS
    • Um gateway de API REST para comunicação entre microsserviços
  8. 8. Como um tópico do Kafka se diferencia de uma fila de mensagens tradicional?

    • Um tópico exclui as mensagens imediatamente após serem lidas por um consumidor
    • Um tópico retém mensagens em um log para que múltiplos grupos de consumidores independentes possam ler os mesmos dados
    • Um tópico suporta apenas um único produtor por vez
    • Um tópico garante a entrega dentro do intervalo de 1 segundo
  9. 9. O que é um grupo de consumidores (consumer group) no Kafka?

    • Um conjunto de brokers que replicam dados de partição
    • Uma coleção de consumidores que consomem conjuntamente um tópico, cada um lendo de um subconjunto distinto de partições
    • Um grupo administrativo que gerencia a criação e exclusão de tópicos
    • Um grupo de produtores que compartilham o mesmo ID de cliente
  10. 10. Por que a ordenação global estrita de mensagens é difícil de garantir em escala em sistemas de mensageria distribuída?

    • A latência de rede e o processamento paralelo em múltiplos nós tornam uma sequência global única difícil de impor sem virar um gargalo
    • A ordenação exige um banco de dados relacional, o qual sistemas de mensageria não podem utilizar
    • Conexões TCP inerentemente embaralham a ordem dos pacotes
    • Brokers de mensageria randomizam deliberadamente a ordem para melhorar o desempenho
  11. 11. O que é o timeout de visibilidade (visibility timeout) do SQS e por que ele é importante?

    • O tempo máximo que uma mensagem pode permanecer na fila antes de ser excluída automaticamente
    • O período durante o qual uma mensagem recebida fica oculta para outros consumidores, evitando processamento duplicado
    • O atraso antes que uma mensagem recém-enviada fique visível para os consumidores
    • A janela de tempo permitida para um consumidor se autenticar antes de ler uma mensagem
  12. 12. Qual é a vantagem do long polling em relação ao short polling no SQS?

    • O long polling compacta as mensagens para reduzir o uso de largura de banda
    • O long polling mantém a conexão aberta por até 20 segundos, reduzindo respostas vazias e diminuindo custos
    • O long polling garante que as mensagens cheguem em ordem FIFO
    • O long polling permite que consumidores enviem confirmações de volta ao SQS em tempo real
  13. 13. Quais são os períodos de retenção de mensagem padrão e máximo em uma fila do SQS?

    • Padrão de 1 dia, máximo de 7 dias
    • Padrão de 4 dias, máximo de 14 dias
    • Padrão de 7 dias, máximo de 30 dias
    • Padrão de 1 hora, máximo de 24 horas
  14. 14. Como as partições do Kafka viabilizam o paralelismo no consumo de mensagens?

    • Cada partição roda em uma região AWS distinta, de modo que os consumidores processem dados geograficamente
    • Cada consumidor em um grupo é associado a uma ou mais partições, permitindo que múltiplos consumidores leiam partições diferentes simultaneamente
    • Partições comprimem mensagens para que cada consumidor processe o dobro de dados por segundo
    • Partições permitem que produtores gravem mais rápido agrupando mensagens em blocos
  15. 15. Qual é a diferença entre o offset confirmado (committed offset) e o offset mais recente (latest offset) no Kafka?

    • O offset confirmado é a próxima mensagem a ser produzida; o offset mais recente é a última mensagem produzida
    • O offset confirmado é a última posição que o grupo de consumidores confirmou ter processado; o offset mais recente é a última mensagem gravada na partição
    • O offset confirmado fica armazenado em disco; o offset mais recente fica apenas na memória
    • São termos sinônimos utilizados de forma intercambiável na documentação do Kafka
  16. 16. O que dispara um rebalanceamento (rebalance) de grupo de consumidores no Kafka?

    • O fator de replicação de um tópico ser aumentado por um administrador
    • Um consumidor entrar ou sair do grupo, ou o timeout de sessão expirar, fazendo com que as partições sejam redistribuídas entre os consumidores ativos
    • Um produtor enviar uma mensagem maior que o tamanho de lote configurado
    • A eleição de líder no ZooKeeper concluir uma nova rodada
  17. 17. Qual é o objetivo do fator de replicação no Kafka e o que significa ISR?

    • O fator de replicação define o TTL da mensagem; ISR significa Retenção em Sincronia
    • O fator de replicação controla quantas cópias em brokers existem para cada partição; ISR (In-Sync Replicas) é o conjunto de réplicas totalmente sincronizadas com o líder
    • O fator de replicação determina o número de grupos de consumidores; ISR rastreia o atraso deles
    • O fator de replicação define o nível de compressão; ISR é o índice de registros armazenados
  18. 18. Qual configuração do Kafka atinge a semântica de exatamente uma vez (exactly-once semantics) ponta a ponta?

    • Definir acks=0 no produtor e habilitar auto-commit no consumidor
    • Habilitar produtores idempotentes (enable.idempotence=true) combinado com APIs transacionais nos produtores e isolation.level=read_committed nos consumidores
    • Utilizar um tópico FIFO com partição única e um único consumidor
    • Desabilitar lotes e definir max.in.flight.requests.per.connection=1
  19. 19. Qual é a principal diferença entre o Amazon SQS, Amazon SNS e Amazon EventBridge?

    • SQS é uma fila para mensagens ponto a ponto; SNS é pub/sub para fan-out a múltiplos assinantes; EventBridge é um barramento de eventos com regras de roteamento e registro de esquemas
    • SQS é voltado para streaming de dados; SNS é para tarefas em lote; EventBridge é exclusivo para dispositivos IoT
    • Todos os três são serviços idênticos com modelos de cobrança diferentes
    • SNS retém mensagens por 14 dias como o SQS; EventBridge não retém eventos
  20. 20. O que é a compactação de log (log compaction) no Kafka e quando ela deve ser usada?

    • Um processo em segundo plano que compacta arquivos de log usando gzip para economizar espaço em disco
    • Uma política de retenção que mantém apenas o valor mais recente para cada chave, descartando registros antigos com a mesma chave
    • Uma operação do Kafka Streams que mescla dois tópicos em um único tópico ordenado
    • Um processo que exclui todas as mensagens mais antigas que o período de retenção configurado
  21. 21. Quais são os três arquivos que compõem um segmento de log do Kafka e o que cada um armazena?

    • .log armazena os bytes brutos das mensagens; .index mapeia offsets para posições de bytes no .log; .timeindex mapeia timestamps para offsets
    • .log armazena offsets; .index armazena bytes de mensagens; .timeindex armazena metadados da partição
    • .log armazena o estado do grupo de consumidores; .index armazena IDs de produtores; .timeindex armazena o atraso de replicação
    • .log armazena lotes compactados; .index armazena IDs de esquemas; .timeindex armazena tempos de expiração de TTL
  22. 22. O que é uma partição quente (hot partition) no Kafka e como o particionamento baseado em chaves a provoca?

    • Uma partição quente é aquela que recebe réplicas em excesso; o roteamento baseado em chave distribui réplicas de forma desigual
    • Uma partição quente recebe desproporcionalmente mais mensagens que as demais porque uma chave de alta frequência (ex.: ID de usuário popular) sempre gera hash para a mesma partição
    • Uma partição quente fica temporariamente offline; o roteamento baseado em chave a evita até que se recupere
    • Uma partição quente armazena dados compactados; o particionamento round-robin evita a compactação
  23. 23. Como o back-pressure se manifesta em uma cadeia de consumidores do Kafka e qual é uma estratégia comum de mitigação?

    • O back-pressure surge como controle de taxa (throttling) no produtor; a mitigação consiste em aumentar o número de tópicos
    • O back-pressure surge como um atraso crescente do consumidor (consumer lag) quando o processamento é mais lento que a produção; as mitigações incluem adicionar consumidores até o limite de partições, criar mais partições ou limitar a taxa do produtor
    • O back-pressure surge como saturação de disco do broker; a mitigação é ativar a compactação de log
    • O back-pressure surge como timeouts do ZooKeeper; a mitigação é migrar para o modo KRaft
  24. 24. Como o Kafka Streams difere do Apache Flink e do Apache Spark Structured Streaming para processamento de stream com estado (stateful)?

    • O Kafka Streams é um framework em lote; Flink e Spark são motores puros de streaming
    • O Kafka Streams é uma biblioteca cliente que executa dentro da sua aplicação sem um cluster dedicado; Flink e Spark são frameworks distribuídos independentes com gerenciamento próprio de recursos
    • O Kafka Streams exige Kubernetes; Flink e Spark rodam apenas em bare metal
    • O Kafka Streams não oferece suporte a operações com estado; Flink e Spark oferecem
  25. 25. Qual é o limite de vazão de uma fila SQS FIFO e de que forma os IDs de grupo de mensagens (Message Group IDs) o influenciam?

    • Filas FIFO suportam vazão ilimitada; os IDs de grupo de mensagens não exercem efeito sobre a vazão
    • Filas FIFO suportam até 300 mensagens/segundo (ou 3.000 com lotes); mensagens com o mesmo Group ID são processadas sequencialmente, logo mais Group IDs distintos possibilitam maior paralelismo
    • Filas FIFO suportam 10.000 mensagens/segundo; cada Group ID adiciona 1.000 mensagens/segundo de capacidade
    • Filas FIFO suportam até 1.000 mensagens/segundo, independentemente dos Group IDs
  26. 26. Por que um schema registry é importante ao usar Avro ou Protobuf com Kafka, e qual problema ele soluciona?

    • Um schema registry criptografa mensagens em trânsito; sem ele, payloads Avro são enviados em texto simples
    • Um schema registry centraliza o versionamento de esquemas para que produtores e consumidores evoluam independentemente mantendo compatibilidade, armazenando apenas o ID do esquema no payload da mensagem
    • Um schema registry é um plugin de broker do Kafka que valida limites de tamanho de mensagem
    • Um schema registry substitui o ZooKeeper no gerenciamento de metadados de cluster em versões recentes do Kafka
  27. 27. Quais métricas e ferramentas são habitualmente utilizadas para monitorar o atraso do consumidor (consumer lag) do Kafka em produção?

    • O consumer lag só pode ser monitorado por meio do painel de interface web integrado do Kafka
    • O consumer lag é monitorado via kafka-consumer-groups.sh, métricas JMX do Kafka (records-lag-max), Prometheus com kafka-exporter ou o exportador JMX da Confluent, e plataformas como Datadog ou Grafana
    • O consumer lag só é visível no AWS CloudWatch quando se utiliza o Amazon MSK
    • O consumer lag é rastreado por meio da leitura do tópico __consumer_offsets diretamente pelo código da aplicação
  28. 28. O que é o padrão Transactional Outbox e como ele resolve problemas de gravação dupla (dual-write) entre um banco de dados e um broker de mensageria?

    • O padrão outbox armazena mensagens em uma fila SQS FIFO antes de gravar no banco de dados, garantindo que o banco só atualize se a fila aceitar a mensagem
    • O padrão outbox grava a alteração de estado do domínio e a mensagem de saída na mesma transação de banco de dados; um processo de relay separado lê a tabela outbox e publica no broker, garantindo atomicidade sem transações distribuídas
    • O padrão outbox utiliza confirmação em duas fases (two-phase commit) entre o banco de dados e o broker Kafka para garantir gravações simultâneas
    • O padrão outbox armazena mensagens na memória da aplicação e as envia ao Kafka após a transação do banco de dados ser confirmada
  29. 29. O que é o Kafka Connect e quais são seus dois tipos principais de conectores?

    • O Kafka Connect é uma biblioteca cliente para construir grupos customizados de consumidores; seus dois tipos são conectores de polling e push
    • O Kafka Connect é um framework para streaming escalável de dados entre o Kafka e sistemas externos; conectores Source ingerem dados no Kafka e conectores Sink exportam dados do Kafka para alvos externos
    • O Kafka Connect é uma ferramenta de monitoramento; seus tipos de conectores são para métricas e para logs
    • O Kafka Connect é uma extensão do schema registry; seus tipos são conectores Avro e conectores Protobuf
  30. 30. Como a replicação entre regiões difere entre o fan-out baseado em SQS e o Kafka MirrorMaker 2?

    • O fan-out do SQS e o MirrorMaker 2 são funcionalmente idênticos; a escolha depende exclusivamente do custo
    • O fan-out do SQS usa o SNS para enviar mensagens simultaneamente para filas em múltiplas regiões (ativo-ativo), enquanto o MirrorMaker 2 replica assincronamente tópicos do Kafka e offsets de grupos de consumidores entre clusters, suportando topologias ativo-ativo e ativo-passivo
    • O fan-out do SQS replica mensagens usando o Kafka Connect; o MirrorMaker 2 usa o AWS DataSync
    • O MirrorMaker 2 funciona apenas com semântica exactly-once; o fan-out do SQS funciona apenas com semântica at-most-once

Sobre este quiz

Este quiz interativo foi desenvolvido para oferecer uma experiência dinâmica, rápida e envolvente. Cada pergunta traz alternativas em ordem aleatória, e seu resultado é calculado imediatamente no final. Você pode refazer o teste quantas vezes desejar e compartilhar o resultado com seus amigos!

Destaques do quiz:
  • ✓100% gratuito e sem necessidade de cadastro
  • ✓Perguntas objetivas com feedback instantâneo
  • ✓Gere card personalizado e compartilhe seus resultados

Perguntas frequentes

Ao responder cada pergunta, o sistema calcula automaticamente suas preferências e escolhas para definir seu resultado final de forma precisa e instantânea.