Um banco coleta dados transacionais de alto volume e os transmite para o Amazon Kinesis Data Streams usando PutRecord. Ocorrem interrupções de rede em determinados momentos, e o engenheiro de dados precisa de semântica de entrega exatamente uma vez em todo o pipeline de processamento. Qual abordagem alcançará isso?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Projetar o aplicativo para que ele possa remover duplicatas durante o processamento, incorporando um ID exclusivo em cada registro na origem..
Por que esta é a resposta
A semântica de entrega "exatamente uma vez" é desafiadora em sistemas distribuídos. A abordagem mais eficaz para alcançá-la com Kinesis Data Streams é projetar o aplicativo para lidar com a idempotência. Incorporar um ID exclusivo em cada registro na origem permite que o processador downstream (como o Amazon Managed Service for Apache Flink ou Lambda) identifique e descarte registros duplicados, garantindo que cada evento seja processado apenas uma vez, mesmo que seja entregue múltiplas vezes pelo Kinesis. As outras opções são menos eficazes: A configuração de checkpoint do Flink ajuda na tolerância a falhas, mas não garante a remoção de duplicatas se o Kinesis entregar o mesmo registro novamente. É difícil garantir que a origem dos dados nunca ingira eventos duplicados, especialmente com interrupções de rede. Parar de usar o Kinesis Data Streams e usar o Amazon EMR com Flink/Spark Streaming não resolve inerentemente o problema de duplicatas; o desafio da idempotência ainda existiria e exigiria uma solução semelhante de identificação de registros.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão