1 of 7

Habilitando Sistemas baseados em Event Streaming com Kafka, Kubernetes, Debezium e CDC 

2 of 7

First Things First – Algumas definições – Event Driven Microservices

“Collection of loosely-coupled, fine-grained services”

Light-weight Communication

Can be deployed independently, scaled independently, tested independently and that has a single responsability.

Synchronous Communication

Asynchronous Communication

(Event Driven)

Microservices

Comunicação centrada

em eventos

Padrão Pub/Sub

Event Streaming Platform

Redução da dependência e acoplamento

3 of 7

Desafios que nos levam ao Event Streaming

4 of 7

OK Vamos Usar Kafka – Mas como?

Como garantir estabilidade do ecossistema Kafka?

Como garantir eficiência na escalabilidade dos consumidores?

Qual a melhor forma de conectar com bases legadas?

Kubernetes

Strimzi Operator

  • Consumidores Customs no K8s
  • Kafka Streams / KSQL DB

Change Data Capture

Debezium

BENEFÍCIOS

  • Alta disponibilidade
  • Fácil gerenciamento,
  • Escalabilidade horizontal
  • Redução de tempo de implantação

BENEFÍCIOS

  • CDC possibilita detectar as alterações nos dados, sem precisar utilizar as tabelas transacionais
  • Debezium é um componente escalável especializado na leitura e tratamento de dados de CDC de boa parte dos BDs de mercado

BENEFÍCIOS

  • Consumidores “próximos” ao cluster Kafka com garantia de escalabilidade horizontal

5 of 7

Como garantir estabilidade do ecossistema Kafka? Kunernetes + Strimzi

O Strimzi fornece operadores para gerenciar um cluster Kafka em execução em um cluster Kubernetes.

CLUSTER OPERATOR

Gerencia os clusters dos seguintes componentes Kafka:

- Kafka (Zookeeper, Entity Operator, Kafka Exporter, Cruise Control)

- Kafka Connnect

- Kafka MirrorMaker

- Kafka Bridge

USER OPERATOR

O Strimzi define um CRD chamado "KafkaUser" que representa um usuário no Kafka. O operador User monitora os objetos KafkaUser e, com base nas alterações ou eventos, executa as ações apropriadas no cluster do Kafka, como criar, atualizar ou excluir usuários e suas credenciais

O uso de CRDs permite que o operador Topic seja integrado perfeitamente à infraestrutura do Kubernetes, aproveitando a automação e as capacidades de gerenciamento do Kubernetes para o Kafka

TOPIC OPERATOR

O Strimzi define um CRD chamado "KafkaTopic" que representa um tópico no Kafka. O operador Topic do Strimzi monitora os objetos KafkaTopic e, com base nas alterações ou eventos, executa as ações apropriadas no cluster do Kafka, como criar, atualizar ou excluir tópicos. O uso de CRDs permite que o operador Topic seja integrado perfeitamente à infraestrutura do Kubernetes, aproveitando a automação e as capacidades de gerenciamento do Kubernetes para o Kafka

6 of 7

Qual a melhor forma de conectar com bases legadas? BDs com CDC + Kafka Connect + Debezium

Como funciona o CDC nos BDs

CDC Log Based+ Kafka

7 of 7

Obrigado

Contato - LinkedIn