Sobre o serviço
TraduzidoSou um engenheiro de dados que vive dentro de streams de eventos, e o Apache Kafka é a base de quase tudo que construo. Quando seus serviços precisam se comunicar sem esperar, quando a análise deve reagir em segundos e não em lotes noturnos, ou quando você simplesmente não pode se dar ao luxo de perder uma única mensagem — esses são exatamente os problemas que enfrento. Eu guiei clusters Kafka desde o primeiro protótipo até o tráfego de milhões de eventos por hora e sei onde as bordas afiadas se escondem.
Meu trabalho começa com os dados em si. Eu modelo o domínio como eventos, decido o que pertence a um tópico e o que não pertence, e escolho uma chave de particionamento para preservar garantias de ordenação enquanto distribuo a carga uniformemente entre os brokers. Então eu construo o stream em si: produtores ajustados para throughput ou confiabilidade, grupos de consumidores dimensionados para carga, e trabalhos de processamento de stream no Kafka Streams ou Flink que juntam, agregam e enriquecem dados em tempo real. Eu levo a semântica de exatamente uma vez a sério: produtores idempotentes e gravações transacionais para que as tentativas nunca se tornem duplicatas a jusante.
Além do caminho feliz, me preocupo com o que me mantém acordado à noite. Eu crio um registro de esquema para que produtores e consumidores evoluam sem quebrar uns aos outros, construo pipelines Kafka Connect para bombear dados em bancos de dados e armazenamentos de objetos e vice-versa, e configuro filas de mensagens mortas, monitoramento e alertas de atraso de consumidores antes que qualquer coisa chegue à produção. Se você está começando do zero ou resgatando um pipeline frágil que está perdendo mensagens — eu ajudarei a construir algo em que você realmente possa confiar.
— Design de cluster Kafka, estratégia de tópicos e particionamento
— Produtores e grupos de consumidores, gerenciamento de offset, reequilíbrio
— Processamento de stream com Kafka Streams e Apache Flink
— Semântica de exatamente uma vez, gravações idempotentes e transacionais
— Kafka Connect, registro de esquema, Avro e Protobuf
— Monitoramento, alertas de atraso de consumidores e manuseio de mensagens mortas
Meu trabalho começa com os dados em si. Eu modelo o domínio como eventos, decido o que pertence a um tópico e o que não pertence, e escolho uma chave de particionamento para preservar garantias de ordenação enquanto distribuo a carga uniformemente entre os brokers. Então eu construo o stream em si: produtores ajustados para throughput ou confiabilidade, grupos de consumidores dimensionados para carga, e trabalhos de processamento de stream no Kafka Streams ou Flink que juntam, agregam e enriquecem dados em tempo real. Eu levo a semântica de exatamente uma vez a sério: produtores idempotentes e gravações transacionais para que as tentativas nunca se tornem duplicatas a jusante.
Além do caminho feliz, me preocupo com o que me mantém acordado à noite. Eu crio um registro de esquema para que produtores e consumidores evoluam sem quebrar uns aos outros, construo pipelines Kafka Connect para bombear dados em bancos de dados e armazenamentos de objetos e vice-versa, e configuro filas de mensagens mortas, monitoramento e alertas de atraso de consumidores antes que qualquer coisa chegue à produção. Se você está começando do zero ou resgatando um pipeline frágil que está perdendo mensagens — eu ajudarei a construir algo em que você realmente possa confiar.
— Design de cluster Kafka, estratégia de tópicos e particionamento
— Produtores e grupos de consumidores, gerenciamento de offset, reequilíbrio
— Processamento de stream com Kafka Streams e Apache Flink
— Semântica de exatamente uma vez, gravações idempotentes e transacionais
— Kafka Connect, registro de esquema, Avro e Protobuf
— Monitoramento, alertas de atraso de consumidores e manuseio de mensagens mortas