Curso Configurando Kafka para Alto Throughput

  • DevOps | CI | CD | Kubernetes | Web3

Curso Configurando Kafka para Alto Throughput

20 horas
Visão Geral

Curso Configurando Kafka para Alto Throughput. Este curso intensivo e altamente especializado foi projetado para arquitetos de software, engenheiros de dados, DevOps e profissionais de SRE (Site Reliability Engineering) que precisam dominar a configuração, otimização e escalabilidade do Apache Kafka para lidar com grandes volumes de dados e alta taxa de transferência (throughput). Enquanto muitos cursos focam no desenvolvimento de aplicações, este se aprofunda nos parâmetros de configuração do Kafka Broker, Zookeeper, e no ecossistema de produtores e consumidores para garantir performance máxima, confiabilidade e resiliência sob carga extrema. Você aprenderá a analisar gargalos, ajustar buffers, gerenciar topic partitions, otimizar acks e retries, e entender o impacto de diferentes configurações na latência e no throughput. O curso será repleto de exemplos práticos, cenários de tuning reais e as melhores práticas para operar Kafka em ambientes de alta demanda.

Curso Configurando Kafka para Alto Throughput., a capacidade de gerenciar e otimizar plataformas de streaming de dados em larga escala é um diferencial crítico para empresas que operam com Big Data, IoT, serviços financeiros, e-commerce e outras áreas de alta transação. A performance do Kafka é diretamente ligada à eficiência operacional, à agilidade na tomada de decisões em tempo real e à capacidade de lidar com picos de tráfego sem interrupções. Profissionais com essa expertise são altamente valorizados e essenciais para garantir que a infraestrutura de dados possa suportar o crescimento do negócio, minimizar perdas de dados e manter a competitividade. Dominar a configuração de Kafka para alto throughput significa contribuir diretamente para a resiliência, escalabilidade e sucesso de plataformas de dados críticas.

Objetivo

Ao final do Curso Configurando Kafka para Alto Throughput, você será capaz de:

  • Compreender a arquitetura interna do Kafka e do Zookeeper com foco em performance e concorrência.
  • Ajustar parâmetros críticos do Kafka Broker para otimizar a taxa de transferência e a latência.
  • Configurar tópicos (topics) para alta carga, incluindo número de partições e fatores de replicação.
  • Otimizar produtores para garantir envio eficiente de mensagens em massa (batching, acks).
  • Configurar consumidores para processamento paralelo e tolerância a falhas (prefetch, grupos de consumidores).
  • Diagnosticar e resolver gargalos de performance em clusters Kafka.
  • Implementar estratégias de monitoramento e alerta para a saúde e performance do Kafka.
  • Aplicar melhores práticas para escalabilidade, resiliência e manutenção de clusters Kafka em produção.
Publico Alvo
  • Arquitetos de Software e Engenheiros de Dados: Para projetar infraestruturas Kafka performáticas.
  • Engenheiros DevOps e SRE: Responsáveis pela implantação, operação e monitoramento de clusters Kafka.
  • Administradores de Sistemas: Que gerenciam infraestruturas de Big Data e mensageria.
  • Desenvolvedores Kafka/Java: Que buscam entender o lado da infraestrutura para otimizar suas aplicações.
Pre-Requisitos
  • Conhecimento intermediário de Apache Kafka: Entendimento dos conceitos básicos de produtores, consumidores, tópicos, partições e brokers.
  • Familiaridade com sistemas Linux/Unix: Uso da linha de comando.
  • Conhecimento básico de rede: TCP/IP, portas, etc.
  • Noções básicas de Docker/Docker Compose: Para configurar o ambiente de laboratório.
  • (Desejável) Experiência com sistemas distribuídos.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo 1: Fundamentos de Performance e Arquitetura do Kafka (4 horas)

  • 1.1. Revisão da Arquitetura do Kafka para Throughput:
    • Brokers, Partições, Réplicas e Liderança.
    • Log de Commit e a natureza de "apenas anexo".
    • Impacto da estrutura de disco no desempenho.
  • 1.2. Zookeeper: O Cérebro do Cluster Kafka (com foco em performance):
    • Função do Zookeeper: Gerenciamento de metadados, eleição de líder.
    • Requisitos de hardware e rede para Zookeeper de alta disponibilidade.
    • Configurações críticas do Zookeeper para estabilidade.
  • 1.3. Métricas Chave de Performance no Kafka:
    • Throughput (mensagens/seg, bytes/seg).
    • Latência (média, p99, p99.9).
    • Utilização de CPU, Memória, Disco, Rede.
    • Mensagens pendentes e lag do consumidor.
  • 1.4. Preparação do Ambiente de Laboratório:
    • Hands-on: Configurar um cluster Kafka multi-broker e Zookeeper via Docker Compose.
    • Instalar ferramentas de monitoramento básicas (CLI, JMX).
  • Prática: Montar um ambiente Kafka com 3 brokers e 3 Zookeepers. Entender a arquitetura de alto nível para performance.

Módulo 2: Otimização do Kafka Broker (6 horas)

  • 2.1. Configurações Essenciais do Broker:
    • broker.id, listeners, advertised.listeners.
    • log.dirs e estratégia de discos (SSD, RAID).
    • num.network.threads, num.io.threads, num.replica.fetchers.
  • 2.2. Configurações de Tópicos para Alta Carga:
    • num.partitions: Impacto na paralelização e balanceamento de carga. Estratégias de escolha.
    • replication.factor: Durabilidade vs. Performance.
    • min.insync.replicas e acks: Garantias de durabilidade.
    • retention.ms, retention.bytes: Gerenciamento de espaço em disco.
    • Hands-on: Criar tópicos com diferentes números de partições e fatores de replicação. Medir o impacto.
  • 2.3. Otimizações de Rede e Buffer:
    • socket.receive.buffer.bytes, socket.send.buffer.bytes.
    • queued.max.requests, request.timeout.ms.
  • 2.4. Limitação de Taxa (Rate Limiting) e Cotas:
    • producer_byte_rate, consumer_byte_rate.
    • Hands-on: Configurar cotas para produtores/consumidores e observar o efeito no throughput.
  • 2.5. Compactação de Tópicos (Log Compaction):
    • Quando e como usar o Log Compaction para tópicos chaveados.
    • Hands-on: Configurar e testar um tópico com compactação.
  • Prática: Realizar tuning de broker e tópico no cluster de laboratório. Usar ferramentas de carga para medir o throughput e a latência antes e depois das otimizações.

Módulo 3: Otimização de Produtores para Alto Volume (4 horas)

  • 3.1. Parâmetros Críticos do Produtor:
    • acks: Impacto direto na durabilidade e latência. 0, 1, all.
    • batch.size: Agrupamento de mensagens para eficiência.
    • linger.ms: Tempo de espera para formar um lote.
    • buffer.memory: Tamanho do buffer do produtor.
    • compression.type: gzip, snappy, lz4, zstd. Impacto no CPU vs. Rede.
    • Hands-on: Implementar um produtor Java ou Python e ajustar esses parâmetros, medindo o throughput e latência.
  • 3.2. Estratégias de Reenvio (Retries) e Idempotência:
    • retries, retry.backoff.ms.
    • enable.idempotence: Garantia de "Exactly Once" para o produtor.
    • Hands-on: Testar o impacto da idempotência e dos retries sob condições de falha simulada.
  • 3.3. Particionamento Eficiente de Mensagens:
    • Default Partitioner vs. Custom Partitioner.
    • Uso de chaves de mensagem para roteamento e ordenação.
  • 3.4. Monitoramento de Produtores:
    • Métricas de produtores (bytes enviados, latência de ack).
  • Prática: Criar um produtor de alta performance, configurando lotes, compressão e acks. Testar o comportamento sob diferentes cenários de carga e falha.

Módulo 4: Otimização de Consumidores e Grupos de Consumo (4 horas)

  • 4.1. Parâmetros Críticos do Consumidor:
    • group.id: Fundamentos dos grupos de consumidores.
    • auto.offset.reset: O que fazer ao iniciar (earliest, latest, none).
    • enable.auto.commit: Auto commit vs. commit manual de offset.
    • max.poll.records: Número máximo de mensagens retornadas por poll().
    • fetch.min.bytes, fetch.max.wait.ms: Otimizando a busca de mensagens.
    • Hands-on: Implementar um consumidor Java ou Python e ajustar esses parâmetros, medindo o lag e o throughput.
  • 4.2. Estratégias de Pré-busca (Prefetch):
    • max.partition.fetch.bytes: Limite de bytes por partição por requisição.
    • max.poll.interval.ms: Tempo máximo entre polls.
    • Impacto do prefetch no balanceamento de carga entre consumidores.
  • 4.3. Rebalanceamento de Grupos de Consumidores:
    • Entendendo o processo de rebalanceamento.
    • Impacto de session.timeout.ms e heartbeat.interval.ms.
    • Estratégias de rebalanceamento (Range vs. RoundRobin).
  • 4.4. Tolerância a Falhas e Dead Letter Queues (DLQs) para Consumidores:
    • Estratégias de re-processamento e DLQs (conceitual, integração com frameworks).
  • 4.5. Monitoramento de Consumidores:
    • Métricas de lag de consumidor (offset, tempo de lag).
    • Métricas de taxa de consumo.
  • Prática: Configurar consumidores para processamento de alto volume, ajustando max.poll.records e fetch.min.bytes. Simular falhas e rebalanceamentos para entender o impacto.

Módulo 5: Monitoramento, Diagnóstico e Boas Práticas Operacionais (2 horas)

  • 5.1. Monitoramento Avançado de Clusters Kafka:
    • Métricas JMX do Kafka Broker, Produtor e Consumidor.
    • Ferramentas de monitoramento: Prometheus + Grafana, Confluent Control Center (visão geral).
    • Monitorando CPU, Memória, Disco, Rede e i/o de disco.
  • 5.2. Diagnóstico de Gargalos:
    • Identificando hot spots (partições muito utilizadas).
    • Analisando lag do consumidor.
    • Problemas de rede, CPU, disco.
  • 5.3. Escalabilidade do Cluster Kafka:
    • Adicionando novos brokers ao cluster.
    • Rebalanceando partições para novos brokers.
  • 5.4. Melhores Práticas Operacionais:
    • Tamanho e tipo de instância (VM/bare metal).
    • Configuração de sistema operacional para performance (sysctl, limites de arquivos abertos).
    • Upgrades e manutenção do cluster.
  • Prática: Utilizar o ambiente de laboratório para simular um cenário de alto throughput e usar ferramentas de monitoramento para identificar um gargalo.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h