Curso Kafka for Application Developers

  • Process Integration & Implementation Solman

Curso Kafka for Application Developers

24 horas
Visão Geral

Neste Curso Kafka for Application Developers, você aprenderá como usar o Kafka para modernizar seus aplicativos.

  • Em aplicativos modernos, as informações em tempo real são geradas continuamente por aplicativos (editores/produtores) e roteadas para outros aplicativos (assinantes/consumidores).
  • Apache Kafka é um sistema de mensagens de publicação-assinatura distribuído de código aberto.
  • O Kafka tem alto rendimento e foi desenvolvido para escalar horizontalmente em um modelo distribuído em vários servidores.
  • O Kafka mantém as mensagens no disco e pode ser usado para consumo em lote, bem como aplicativos em tempo real.

Apache Kafka é uma plataforma de streaming de dados distribuída de código aberto. Ele foi projetado para lidar com altas taxas de fluxo de dados, permitindo que as aplicações publiquem e assinem streams de dados em larga escala.

Com o Kafka, as aplicações podem enviar e receber mensagens em tempo real, o que é útil para aplicativos de análise de dados em larga escala, processamento de transações e aplicativos de IoT (Internet das coisas). Além disso, o Kafka fornece alta disponibilidade, escalabilidade e tolerância a falhas, tornando-o uma plataforma confiável e robusta para aplicativos que exigem garantias de integridade de dados.

O Apache Kafka é amplamente utilizado por empresas de todos os tamanhos, desde pequenas startups até grandes corporações, e é amplamente considerado como uma das plataformas de streaming de dados mais avançadas disponíveis atualmente. Em resumo, o Kafka é uma plataforma poderosa e altamente escalável para lidar com fluxos de dados em larga escala, e é uma escolha popular para muitas empresas que buscam processar dados em tempo real.

Existem várias razões pelas quais você pode querer aprender Apache Kafka, incluindo:

  1. Popularidade: Apache Kafka é uma das plataformas de streaming de dados mais populares e amplamente utilizadas no mercado atualmente, o que significa que há uma demanda significativa por profissionais com conhecimento em Kafka.

  2. Escalabilidade: O Kafka é altamente escalável e pode lidar com fluxos de dados em larga escala, tornando-o uma escolha popular para empresas que precisam processar grandes quantidades de dados em tempo real.

  3. Integração: O Kafka pode ser facilmente integrado com uma ampla gama de sistemas, incluindo bancos de dados, aplicativos e serviços na nuvem, tornando-o uma solução versátil e integrável para aplicativos de fluxo de dados.

  4. Comunidade: A comunidade de desenvolvedores do Apache Kafka é ativa e forte, o que significa que você pode obter suporte e ajuda rapidamente se precisar.

  5. Oportunidades de carreira: Com a demanda crescente por profissionais com conhecimento em Apache Kafka, aprender esta plataforma pode abrir novas oportunidades de carreira em áreas como análise de dados, processamento de transações, IoT e muito mais.

Em resumo, aprender Apache Kafka pode ser uma ótima maneira de ampliar seus conhecimentos técnicos, melhorar suas habilidades de resolução de problemas e abrir novas oportunidades de carreira.

O objetivo principal do Apache Kafka é fornecer uma plataforma de streaming de dados distribuída de alta performance e escalabilidade para aplicativos de análise de dados, processamento de transações e outros.

Com o Kafka, as aplicações podem publicar e assinar streams de dados em larga escala, permitindo que os dados sejam processados em tempo real. Além disso, o Kafka fornece alta disponibilidade, tolerância a falhas e escalabilidade, tornando-o uma plataforma confiável e robusta para aplicativos que exigem garantias de integridade de dados.

O objetivo geral do Apache Kafka é simplificar o processamento de grandes volumes de dados em tempo real, permitindo que as empresas e organizações façam análises avançadas, monitorem seus dados em tempo real e respondam rapidamente a eventos em sua infraestrutura. Em resumo, o objetivo do Kafka é tornar o processamento de fluxo de dados em larga escala mais simples, eficiente e confiável para aplicativos e organizações de todos os tamanhos.

Objetivo

Após realizar este Curso Kafka for Application Developers, você será capaz de:

  • Entenda o uso do Kafka para mensagens de alto desempenho
  • Identifique os usos do Kafka em microsserviços
  • Explique os benefícios dos padrões Kafka
  • Diferenciar entre mensagens e agentes de mensagens
  • Descrever ambientes de mensagens Kafka
  • Desenvolver produtores e consumidores para Kafka
  • Reconhecer como o Kafka habilita aplicativos nativos da nuvem
  • Resuma características e arquitetura para Kafka
  • Demonstrar como processar mensagens com Kafka
  • Projete 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

Tópicos

  • Introdução ao Kafka
  • Usando o Apache Kafka
  • Construindo pipelines de dados
  • Integrando o Kafka com outros sistemas
  • Kafka e Gerenciamento de Esquemas
  • Kafka Streams e KSQL
  • KSQL UDF e implantação
Publico Alvo

Este é um Curso Kafka for Application Developers, de introdução geral para desenvolvedores, arquitetos, integradores de sistemas, administradores de segurança, administradores de rede, engenheiros de software, indivíduos de suporte técnico, líderes e gerentes de tecnologia e consultores responsáveis ​​por elementos de mensagens para coleta, transformação e integração de dados para sua organização que oferece suporte à modernização de aplicativos, desenvolvimento nativo da nuvem e cadeia de fornecimento de dados digitais (Big Data/IoT/AI/Machine Learning/Advanced Analytics/Business Intelligence).

Pre-Requisitos
  • A compreensão básica de mensagens, nuvem, desenvolvimento, arquitetura e virtualização seria benéfica
Materiais
Inglês + Exercícios + Lab Kafka ao vivo em sala de aula
Conteúdo Programatico

Introduction to Kafka

  1. Messaging Architectures – What is Messaging?
  2. Messaging Architectures – Steps to Messaging
  3. Messaging Architectures – Messaging Models
  4. What is Kafka?
  5. What is Kafka? (Contd.)
  6. Kafka Overview
  7. Kafka Overview (Contd.)
  8. Need for Kafka
  9. When to Use Kafka?
  10. Kafka Architecture
  11. Core concepts in Kafka
  12. Kafka Topic
  13. Kafka Partitions
  14. Kafka Producer
  15. Kafka Consumer
  16. Kafka Broker
  17. Kafka Cluster
  18. Why Kafka Cluster?
  19. Sample Multi-Broker Cluster
  20. Overview of ZooKeeper
  21. Kafka Cluster & ZooKeeper
  22. Who Uses Kafka?

Using Apache Kafka

  1. Installing Apache Kafka
  2. Configuration Files
  3. Starting Kafka
  4. Using Kafka Command Line Client Tools
  5. Setting up a Multi-Broker Cluster
  6. Using Multi-Broker Cluster
  7. Kafka Cluster Planning
  8. Kafka Cluster Planning – Producer/Consumer Throughput
  9. Kafka Cluster Planning – Number of Brokers (and ZooKeepers)
  10. Kafka Cluster Planning – Sizing for Topics and Partitions
  11. Kafka Cluster Planning – Sizing for Storage
  12. Kafka Connect
  13. Kafka Connect – Configuration Files
  14. Using Kafka Connect to Import/Export Data
  15. Creating a Spring Boot Producer
  16. Adding Kafka dependency to pom.xml
  17. Defining a Spring Boot Service to Send Message(s)
  18. Defining a Spring Boot Controller
  19. Testing the Spring Boot Producer
  20. Creating a Nodejs Consumer

Building Data Pipelines

  1. Building Data Pipelines
  2. What to Consider When Building Data Pipelines
  3. Timeliness
  4. Reliability
  5. High and Varying Throughput
  6. High and Varying Throughput (Contd.)
  7. Data Formats
  8. Data Formats (Contd.)
  9. Transformations
  10. Transformations - ELT
  11. Security
  12. Failure Handling
  13. Agility and Coupling
  14. Ad-hoc Pipelines
  15. Metadata Loss
  16. Extreme Processing
  17. Kafka Connect vs. Producer and Consumer
  18. Kafka Connect vs. Producer and Consumer (Contd.)

Integrating Kafka with Other Systems

  1. Introduction to Kafka Integration
  2. Kafka Connect
  3. Kafka Connect (Contd.)
  4. Running Kafka Connect Operating Modes
  5. Key Configurations for Connect workers:
  6. Kafka Connect API
  7. Kafka Connect Example – File Source
  8. Kafka Connect Example – File Sink
  9. Kafka Connector Example – MySQL to Elasticsearch
  10. Kafka Connector Example – MySQL to Elasticsearch (Contd.)
  11. Write the data to Elasticsearch
  12. Building Custom Connectors
  13. Kafka Connect – Connectors
  14. Kafka Connect - Tasks
  15. Kafka Connect - Workers
  16. Kafka Connect - Offset management
  17. Alternatives to Kafka Connect
  18. Introduction to Storm
  19. Integrating Storm with Kafka
  20. Integrating Storm with Kafka – Sample Code
  21. Integrating Storm with Kafka
  22. Integrating Hadoop with Kafka
  23. Hadoop Consumers
  24. Hadoop Consumers (Contd.)
  25. Hadoop Consumers – Produce Topic
  26. Hadoop Consumers – Fetch Generated Topic
  27. Kafka at Uber
  28. Kafka at Uber (Contd.)
  29. Kafka at LinkedIn
  30.  Kafka at LinkedIn – Core Kafka Services
  31. Kafka at LinkedIn – Core Kafka Services (Contd.)
  32. Kafka at LinkedIn – Libraries
  33. Kafka at LinkedIn – Monitoring and Stream Processing

Kafka and Schema Management

  1. Evolving Schema
  2. Protobuf (Protocol Buffers) Overview
  3. Avro Overview
  4. Managing Data Evolution Using Schemas
  5. Confluent Platform
  6. Confluent Schema Registry
  7. Schema Change and Backward Compatibility
  8. Collaborating over Schema Change
  9. Handling Unreadable Messages
  10. Deleting Data
  11. Segregating Public and Private Topics

Kafka Streams and KSQL

  1. What Kafka can be used for?
  2. What Kafka can be used for? (Contd.)
  3. What Exactly is Kafka?
  4. The APIs for Stream Processing
  5. Kafka: A Streaming Platform
  6. What is KSQL?
  7. What is KSQL? (Contd.)
  8. Starting KSQL
  9. Using the KSQL CLI
  10. KSQL Data Types
  11. Review the Structure of an Existing STREAM
  12. Query the STREAM
  13. KSQL Functions
  14. Writing to a Topic
  15. KSQL Table vs. Stream
  16. KSQL JOIN
  17. Windows in KSQL Queries
  18. Miscellaneous KSQL Commands

KSQL UDF and Deployment

  1. KSQL Custom Functions
  2. KSQL UDF/UDAF
  3. Implement a Custom Function
  4. Creating UDF and UDAF
  5. Creating UDF and UDAF (Contd.)
  6. UDFs and Null Handling
  7. UDFs and Null Handling (Contd.)
  8. Sample UDF Class
  9. Build Engine
  10. UDAF
  11. UDAF Sample Class
  12. Supported Types
  13. Deploying Custom Functions
  14. Using Custom Functions

Lab Exercises

  • Lab 1. Kafka Basics
  • Lab 2. Kafka Multiple Brokers and Import/Export Messages
  • Lab 3. Apache Kafka with Java
  • Lab 4. Apache Kafka with Node.js
  • Lab 5. Kafka Integration With Spark
  • Lab 6. KSQL Basics
  • Lab 7. KSQL Create and Deploy UDF
TENHO INTERESSE

Cursos Relacionados

Curso SAP PI 7.5 Process Integration

32 horas

Curso SAP Metodologia Activate

16 horas

Curso Solution Manager Configuração de Gerenciamento Serviços de TI

32 horas

Curso SolMan - Projetos de Execução com SAP Solution Manager

40 horas

Curso SAP Activate Entrega de Projetos Ágeis

16 horas

Curso Web Intelligence Report Design

16 horas