SlideShare uma empresa Scribd logo
1 de 15
Arquitetura orientada a
eventos com Kafka
Raphael Monteiro
Microserviços – Banco por
serviço
Banco por serviço - Problema
Sincronização de dados dependentes em diferentes
bancos
Solução
Utilizar mecanismo de consistência eventual, no qual
cada serviço é responsavel por gerar eventos de dados
atualizados, para que serviços interessados possam
atualizar os dados.
Broker de mensageria
Produtor envia mensagem para o broker, sobre
determinado contexto, mensagem é exposta para
consumidores que querem mensagens deste determinado
contexto
Tradicionais brokers
RabbitMQ
ActtiveMQ
Kestrel
Kafka
Desenvolvido pelo Linkedin
Único broker suporta centenas de megabytes de escritas
e leituras por segundo de milhares de clientes.
Trabalha em cluster com transparencia e é expandivel
sem “downtime”
Durabilidade nas mensagens
Tópicos
Distribuição
Replicação de partições
Server líder
Replicação instantanea do Server lider para os Servers
seguidores
Producers
Publica mensagens para determinado tópico/partição
Balanciamento Round-Robin ou customizado
Consumers
Arquitetura atual
Garantias
Mensagens entregas em ordem
Produtor consome eventos da entidade comercial, faz a
remoção após mensagem ser aceita no broker
Consumidor, faz o commit do offset após o
processamento completo de uma mensagem, em caso de
problema a mensagem é reprocessada
Kafka possúi 3 nodos, no caso de queda do lider da
partição, produtor e consumidor fazem o rebalanciamento
para o novo líder automaticamente
Arquitetura orientada a eventos com Kafka

Mais conteúdo relacionado

Destaque (8)

Item #9 ppt trolley stop
Item #9   ppt trolley stopItem #9   ppt trolley stop
Item #9 ppt trolley stop
 
AMAD FARES AND TICKETING
AMAD FARES AND TICKETINGAMAD FARES AND TICKETING
AMAD FARES AND TICKETING
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Item #3 ppt amendement to zoning codes
Item #3   ppt amendement to zoning codesItem #3   ppt amendement to zoning codes
Item #3 ppt amendement to zoning codes
 
Ch10
Ch10Ch10
Ch10
 
Unidad3. sensación y percepción. A.ALBA.C.
Unidad3. sensación y percepción. A.ALBA.C.Unidad3. sensación y percepción. A.ALBA.C.
Unidad3. sensación y percepción. A.ALBA.C.
 
El grafito
El grafitoEl grafito
El grafito
 
DIGITAL STUDIO
DIGITAL STUDIODIGITAL STUDIO
DIGITAL STUDIO
 

Semelhante a Arquitetura orientada a eventos com Kafka

Message Broker & .Net Core - Introdução ao RabbitMQ
Message Broker & .Net Core - Introdução ao RabbitMQMessage Broker & .Net Core - Introdução ao RabbitMQ
Message Broker & .Net Core - Introdução ao RabbitMQLuiz Carlos Faria
 
Arquitetura orientada a eventos
Arquitetura orientada a eventosArquitetura orientada a eventos
Arquitetura orientada a eventosBruno Roldão
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Luiz Costa
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...tdc-globalcode
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridWalter Coan
 
Conhecendo Apache Kafka
Conhecendo Apache KafkaConhecendo Apache Kafka
Conhecendo Apache KafkaRafa Noronha
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e ArquitetosVictor Osorio
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
Saiba como se tornar um profissional especialista em
Saiba como se tornar um profissional especialista emSaiba como se tornar um profissional especialista em
Saiba como se tornar um profissional especialista emFabio Hara
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaPaula Santana
 
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do Produto
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do ProdutoMVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do Produto
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do ProdutoRover Marinho
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-ProposalKevin Martins
 

Semelhante a Arquitetura orientada a eventos com Kafka (20)

Message Broker & .Net Core - Introdução ao RabbitMQ
Message Broker & .Net Core - Introdução ao RabbitMQMessage Broker & .Net Core - Introdução ao RabbitMQ
Message Broker & .Net Core - Introdução ao RabbitMQ
 
Java Messaging Service
Java Messaging ServiceJava Messaging Service
Java Messaging Service
 
Arquitetura orientada a eventos
Arquitetura orientada a eventosArquitetura orientada a eventos
Arquitetura orientada a eventos
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
Modular Monoliths - Como é possível organizar sua aplicação para habilitar um...
 
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
TDC2018SP | Trilha Microservices - Modular Monoliths - Como e possivel organi...
 
Hornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de MensageriaHornet - 1.Conceitos de Mensageria
Hornet - 1.Conceitos de Mensageria
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event Grid
 
Conhecendo Apache Kafka
Conhecendo Apache KafkaConhecendo Apache Kafka
Conhecendo Apache Kafka
 
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 Kafka: Uma introdução para Desenvolvedores e Arquitetos Kafka: Uma introdução para Desenvolvedores e Arquitetos
Kafka: Uma introdução para Desenvolvedores e Arquitetos
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
Saiba como se tornar um profissional especialista em
Saiba como se tornar um profissional especialista emSaiba como se tornar um profissional especialista em
Saiba como se tornar um profissional especialista em
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações Java
 
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do Produto
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do ProdutoMVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do Produto
MVP ShowCast IT - Mensageria - Exchange 2013 Arquitetura do Produto
 
Mda arq cliente_serv
Mda arq cliente_servMda arq cliente_serv
Mda arq cliente_serv
 
ThingProvider-Proposal
ThingProvider-ProposalThingProvider-Proposal
ThingProvider-Proposal
 
Cluster
ClusterCluster
Cluster
 

Arquitetura orientada a eventos com Kafka