Curso Kafka for System Administrators
24 horasVisão Geral
Curso Kafka for System Administrators, você aprenderá como usar o Kafka para modernizar seus aplicativos. O Kafka é uma poderosa plataforma de streaming de dados em tempo real que pode ser integrada a aplicativos existentes ou usada como base para o desenvolvimento de novos aplicativos.
Aqui estão algumas maneiras pelas quais um curso de Kafka pode ajudar você a modernizar seus aplicativos:
- Ingestão de dados em tempo real: O Kafka permite que você ingira dados em tempo real de várias fontes, como sensores, aplicativos web, bancos de dados, entre outros. Ao aprender a usar o Kafka, você poderá modernizar seus aplicativos, tornando-os capazes de processar dados em tempo real e reagir a eventos em tempo real.
- Processamento de streaming: O Kafka possui recursos avançados de processamento de streaming, como o Kafka Streams. Com o Kafka Streams, você pode implementar lógica de negócios complexa em tempo real, processando e transformando os dados conforme eles são transmitidos pelos tópicos do Kafka. Isso permite a modernização de aplicativos, adicionando capacidades de processamento de streaming.
- Integração de microsserviços: O Kafka é amplamente usado para integração de microsserviços. Com o Kafka, você pode criar pipelines de dados entre diferentes microsserviços, permitindo comunicação assíncrona e troca de eventos em tempo real. Isso pode ajudar na modernização de aplicativos monolíticos, dividindo-os em microsserviços independentes e altamente escaláveis.
- Escalabilidade e alta disponibilidade: O Kafka é projetado para ser altamente escalável e tolerante a falhas. Ao aprender a configurar e gerenciar clusters Kafka, você poderá modernizar seus aplicativos, tornando-os escaláveis horizontalmente e garantindo alta disponibilidade mesmo em ambientes distribuídos.
- Análise em tempo real: O Kafka pode ser integrado a ferramentas de análise em tempo real, como o Apache Spark, permitindo que você realize análises em tempo real nos dados transmitidos pelos tópicos do Kafka. Isso pode fornecer insights em tempo real e permitir a modernização de aplicativos com recursos avançados de análise em tempo real.
Objetivo
Após a conclusão deste Curso Kafka for System Administrators, os participantes serão capazes de:
- Entenda o uso do Kafka para mensagens de alto desempenho
- Identificar os usos do Kafka em microsserviços
- Explicar os benefícios dos padrões Kafka
- Diferenciar entre mensagens e corretores de mensagens
- Resumir características e arquitetura para Kafka
- Instalar e configurar um cluster Kafka
- Projetar sistemas distribuídos de alto rendimento baseados em Kafka
- Descrever o particionamento integrado, a replicação e a tolerância a falhas inerente do Kafka
Publico Alvo
O público-alvo deste Curso Kafka for System Administrators inclui profissionais de TI, engenheiros de dados, arquitetos de soluções, administradores de sistemas, desenvolvedores e qualquer pessoa interessada em aprender a configurar, implantar e gerenciar clusters Kafka em ambientes de produção.
Mais especificamente, o curso pode ser útil para:
- Administradores de sistemas: Que desejam adquirir conhecimentos específicos sobre a administração do Kafka, incluindo implantação, configuração, monitoramento e solução de problemas.
- Engenheiros de dados: Que trabalham com arquiteturas de streaming de dados em tempo real e desejam aprender como utilizar o Kafka como plataforma central para processamento de dados.
- Arquitetos de soluções: Que estão envolvidos na concepção e implementação de soluções de streaming de dados, onde o Kafka desempenha um papel importante.
- Desenvolvedores: Que desejam entender como integrar aplicativos e sistemas existentes ao Kafka, além de aprender a usar a API do Kafka para desenvolver produtores e consumidores de maneira eficiente.
- Profissionais de análise de dados: Que desejam explorar o potencial do Kafka para ingestão e processamento de dados em tempo real, como parte de pipelines de dados analíticos.
- Gerentes de projeto: Que precisam entender os recursos, a escalabilidade e as implicações operacionais do Kafka para tomar decisões informadas sobre o uso da plataforma em projetos.
Pre-Requisitos
- Conhecimento básico de mensagens, nuvem, operação de sistemas Linux, arquitetura e virtualização seria benéfico
Materiais
Português/Inglês + Exercícios + Lab PraticoConteúdo Programatico
Introduction to Confluent Kafka
- Messaging Architectures – What is Messaging?
- Messaging Architectures – Steps to Messaging
- Messaging Architectures – Messaging Models
- What is Kafka?
- What is Kafka? (Contd.)
- Kafka Overview
- Need for Kafka
- When to Use Kafka?
- Kafka Architecture
- Core concepts in Kafka
- Kafka Topic
- Architecting Topics
- Kafka Partitions
- Kafka Producer
- Kafka Consumer
- Kafka Broker
- Kafka Cluster
- Why Kafka Cluster?
- Sample Multi-Broker Cluster
- Overview of ZooKeeper
- Kafka Cluster & ZooKeeper
- Who Uses Kafka?
Installing and Configuring Confluent Kafka
- Planning for Kafka - Platform
- Planning for Kafka - OS
- Planning for Kafka - Java
- Planning for Kafka - System Requirements
- Installing Confluent Platform (Kafka)
- Downloading Confluent Platform
- Setting up for Development and Testing
- Setting up for Production
- Running in Docker Containers
- Configuration Files
- Starting Kafka
- Using Kafka Command Line Client Tools
- Setting up a Multi-Broker Cluster
- Using Multi-Broker Cluster
- Kafka Cluster Planning
- Kafka Cluster Planning – Producer/Consumer Throughput
- Kafka Cluster Planning – Number of Brokers (and ZooKeepers)
- Kafka Cluster Planning – Sizing for Topics and Partitions
- Kafka Cluster Planning – Sizing for Storage
- Kafka Connect
- Kafka Connect – Configuration Files
- Using Kafka Connect to Import/Export Data
Data Pipelines Overview
- Building Data Pipelines
- Best Practices for Designing Pipelines
- Considerations When Building Data Pipelines
- Timeliness
- Reliability
- High and Varying Throughput
- High and Varying Throughput (Contd.)
- Data Formats
- Data Formats (Contd.)
- Transformations
- Transformations (Contd.)
- Security
- Security Best Practices
- Failure Handling
- Coupling and Agility
- Ad-hoc Pipelines
- Loss of Metadata
- Extreme Processing
- Kafka Connect Versus Producer and Consumer
- Kafka Connect Versus Producer and Consumer (Contd.)
Integrating Kafka with Other Systems
- Introduction to Kafka Integration
- Kafka Connect
- Kafka Connect (Contd.)
- Running Kafka Connect
- Key Configurations for Connect workers:
- Kafka Connect Example – File Source
- Kafka Connect Example – File Sink
- Kafka Connector Example – PostgresSQL to Elasticsearch
- PostgresSQL to Elasticsearch Process
- Write Data to Elasticsearch
- Kafka Connector Scenario – SOAP Web Service to REST
- Building Custom Connectors
- Kafka Connect – Connectors
- Kafka Connect - Tasks
- Kafka Connect - Workers
- Kafka Connect – Workers (Contd.)
- Kafka Connect - Converters and Connect’s data model
- Kafka Connect - Offset management
- Alternatives to Kafka Connect
- Alternatives to Kafka Connect (Contd.)
- Introduction to Hadoop
- Hadoop Components
- Integrating Hadoop with Kafka
- Hadoop Consumers
- Hadoop Consumers (Contd.)
- Hadoop Consumers (Contd.)
- Hadoop Consumers – Produce Topic
- Hadoop Consumers – Fetch Generated Topic
- Kafka at Uber
- Kafka at Uber (Contd.)
- Kafka at LinkedIn
- Kafka at LinkedIn – Core Kafka Services
- Kafka at LinkedIn – Core Kafka Services (Contd.)
- Kafka at LinkedIn – Libraries
- Kafka at LinkedIn – Monitoring and Stream Processing
- Conclusion
Schema Management, Streams and KSQL
- Evolving Schema
- Protobuf (Protocol Buffers) Overview
- Avro Overview
- Managing Data Evolution Using Schemas
- Confluent Platform
- Confluent Schema Registry
- Schema Change and Backward Compatibility
- Collaborating over Schema Change
- Handling Unreadable Messages
- Deleting Data
- Segregating Public and Private Topics
- What is KSQL?
- What is KSQL? (Contd.)
- Starting KSQL
- Using the KSQL CLI
- KSQL Data Types
- Conclusion
Managing Kafka
- Monitoring Kafka
- Confluent Control Center
- Control Center - Screen Shot
- Control Center - Running
- Control Center - Monitoring
- Control Center - Management
- Control Center - Alerts
- Control Center - Development
- Troubleshooting basics
- Zookeeper CLI Shell
- kafka-topics Command Line Script
- console-consumer Command Line Script
- Viewing logs
- Inspecting Message Queue
- Viewing Messages with Control Center
- Viewing messages with REST Proxy
- Maintaining Kafka Cluster
- Updating Kafka version
- Backup and Restore
- Disaster recovery
Lab Exercises
- Lab 1. Confluent Kafka Basics
- Lab 2. Confluent Kafka Multiple Brokers and Import/Export Messages
- Lab 3. Securing Confluent Kafka
- Lab 4. Integrating Confluent Kafka with PostgreSQL
- Lab 5. Confluent Kafka Monitoring using Graphite
- Lab 6. KSQL Basics
- Lab 7. Troubleshoot a Kafka Application