Pipelines de dados em streaming podem falhar por várias razões. Como os dados de origem, como tópicos do Kafka, geralmente têm retenção limitada, falhas prolongadas nos trabalhos podem levar à perda de dados. Assim, os trabalhos de streaming precisam ser preenchíveis a qualquer momento para evitar a perda de dados em caso de falhas.
Uma solução é aumentar a retenção da origem para que o preenchimento seja simplesmente a reprodução dos streams de origem, mas estender a retenção do Kafka é muito caro para os tamanhos de dados da Netflix. Outra solução é utilizar dados de origem armazenados no DWH, comumente conhecido como arquitetura Lambda. No entanto, esse método introduz uma duplicação significativa de código, pois requer que os engenheiros mantenham um trabalho em lote equivalente separado.
Na Netflix, criamos o Iceberg Source Connector para fornecer capacidades de preenchimento para aplicações de streaming Flink. Ele permite que o Flink transmita dados armazenados no Apache Iceberg enquanto espelha a semântica de ordenação do Kafka, permitindo-nos preencher pipelines Flink stateful em grande escala a um custo de retenção baixo.
Conecte-se conosco: