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
AWS SDK for Java 1.x entra em modo de manutenção.
AWS SDK for Java 1.x atinge fim de suporte.
Anúncio do flink-s3-fs-native como plugin experimental no Apache Flink 2.3.
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
- flink.apache.orgfonte original
- Categoria
- CEVIU DevOps
- Publicado
- 29 de junho de 2026
- Editoria
- CEVIU DevOps
