CEVIU Logo
Voltar

Flink apresenta novo FileSystem S3 nativo focado em desempenho e produção

Aprofundamento CEVIU

Aprofundamento

O lançamento do Apache Flink 2.3 com o novo sistema de arquivos S3 nativo, `flink-s3-fs-native`, representa um avanço significativo na forma como aplicações Flink interagem com o armazenamento de objetos. Ao remover a dependência do ecossistema Hadoop e adotar diretamente o AWS SDK v2, o projeto visa eliminar conflitos de dependência e otimizar a performance. A nova implementação foca em oferecer uma experiência unificada, consolidando funcionalidades critique como suporte a sinks com semântica exactly-once e gerenciamento de checkpoints e savepoints num único plugin.

A performance aprimorada fica evidente nos testes de benchmark, que apontam cerca de duas vezes mais velocidade em checkpoints e redução no volume de dados armazenados, impactando diretamente as SLAs de recuperação e a eficiência do uso de CPU. A simplificação da configuração, utilizando um namespace `s3.*` direto do Flink, também alivia o trabalho das equipes de plataforma ao eliminar a complexidade de mapeamento de chaves e camadas de adaptação, algo comum nas abordagens anteriores que usavam plugins baseados em Hadoop ou Presto.

O que mudou

O `flink-s3-fs-native` em Flink 2.3 substitui os antigos plugins `flink-s3-fs-hadoop` e `flink-s3-fs-presto`. Anteriormente, os usuários tinham que escolher entre o plugin Hadoop, que suportava RecoverableWriter para sinks exactly-once, mas trazia consigo um pesado conjunto de dependências do Hadoop e AWS SDK v1, ou o plugin Presto, mais rápido em leitura, mas sem o suporte a sinks exactly-once e com bugs conhecidos. O novo plugin nativo elimina essa dicotomia, oferecendo ambos os recursos e removendo as dependências problemáticas do Hadoop e do SDK v1, que já estava em modo de manutenção até julho de 2024 e chegaria ao fim de suporte em dezembro de 2025.

A migração para o novo sistema de arquivos é apresentada como um processo seguro, com a possibilidade de rodar ambos os plugins lado a lado, definindo a prioridade. Dados existentes em S3 são totalmente compatíveis com o novo plugin, e a configuração utiliza um novo namespace `s3.*` mais limpo, substituindo as antigas chaves `fs.s3a.*` ou `s3.*` do Flink que eram espelhadas das configurações Hadoop. O projeto de roadmap indica ainda funcionalidades futuras como configuração por bucket e suporte ao AWS CRT client para ganhos adicionais de performance.

Por que isso importa

Para equipes de engenharia de dados e DevOps que utilizam Flink para processamento de streams em larga escala e dependem de S3 para armazenamento de estado, o novo sistema de arquivos nativo representa uma melhoria direta na eficiência operacional e na confiabilidade. A redução no tempo de checkpoints e a diminuição do uso de CPU liberam capacidade de processamento para a aplicação principal e permitem janelas de recuperação mais curtas, o que é crucial para sistemas que exigem alta disponibilidade e baixas latências de recuperação.

Do ponto de vista de segurança e conformidade, a eliminação das dependências transitivas do Hadoop e do AWS SDK v1 é um alívio significativo. Isso reduz a superfície de ataque, minimiza o esforço na gestão de vulnerabilidades (CVEs) e alinha o Flink com as práticas modernas de uso de SDKs suportados, como o AWS SDK v2. Além disso, a simplificação da configuração melhora a experiência do desenvolvedor e reduz a chance de erros de setup em ambientes multi-tenant.

Linha do tempo

  1. AWS SDK for Java 1.x entra em modo de manutenção.

  2. AWS SDK for Java 1.x atinge fim de suporte.

  3. Anúncio do flink-s3-fs-native como plugin experimental no Apache Flink 2.3.

  4. Flink 2.3: Lançamento do flink-s3-fs-native com foco em performance e produção.

Perguntas frequentes

Qual a principal vantagem do novo flink-s3-fs-native?

A principal vantagem é a performance aprimorada, com checkpoints até duas vezes mais rápidos, e a eliminação das dependências do Hadoop e AWS SDK v1. Isso resulta em menor sobrecarga de CPU, janelas de recuperação mais curtas e uma gestão de dependências mais limpa e segura.

O que acontece com meus checkpoints e savepoints existentes no S3?

Seus checkpoints e savepoints existentes no S3 continuam totalmente legíveis. O novo sistema de arquivos nativo é compatível em leitura e escrita com os dados gerados pelos plugins anteriores (Hadoop e Presto).

Como migrar do plugin antigo para o novo flink-s3-fs-native?

A migração é uma operação de nível de deployment. Requer a remoção do plugin antigo, a adição do novo JAR do plugin nativo, a revisão do arquivo `flink-conf.yaml` para usar as novas chaves `s3.*`, e um reinício do cluster. É possível rodar ambos os plugins simultaneamente para um processo de migração mais seguro.

Quais são as novidades planejadas para o Flink 2.4 relacionadas ao S3?

Para o Flink 2.4, estão planejadas funcionalidades como configuração por bucket (permitindo diferentes credenciais e políticas para múltiplos buckets em um mesmo cluster), suporte ao AWS CRT client para otimizações adicionais, e métricas aprimoradas para observabilidade das operações de S3.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU DevOps
Publicado
29 de junho de 2026
Editoria
CEVIU DevOps

Quer receber mais sobre CEVIU DevOps?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser