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
Kafka ppt

Mais conteúdo relacionado

Mais procurados

Mais procurados (10)

Containers and microservices orchestration
Containers and microservices orchestrationContainers and microservices orchestration
Containers and microservices orchestration
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
Estratégias de migração para cloud
Estratégias de migração para cloudEstratégias de migração para cloud
Estratégias de migração para cloud
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
 
Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Docker hub
Docker hubDocker hub
Docker hub
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 

Destaque

The Future of Apache Hadoop an Enterprise Architecture View
The Future of Apache Hadoop an Enterprise Architecture ViewThe Future of Apache Hadoop an Enterprise Architecture View
The Future of Apache Hadoop an Enterprise Architecture ViewDataWorks Summit/Hadoop Summit
 
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinIntro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinAlex Zeltov
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseDataWorks Summit
 
CEP - simplified streaming architecture - Strata Singapore 2016
CEP - simplified streaming architecture - Strata Singapore 2016CEP - simplified streaming architecture - Strata Singapore 2016
CEP - simplified streaming architecture - Strata Singapore 2016Mathieu Dumoulin
 
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseHortonworks
 

Destaque (6)

Big Data Ready Enterprise
Big Data Ready Enterprise Big Data Ready Enterprise
Big Data Ready Enterprise
 
The Future of Apache Hadoop an Enterprise Architecture View
The Future of Apache Hadoop an Enterprise Architecture ViewThe Future of Apache Hadoop an Enterprise Architecture View
The Future of Apache Hadoop an Enterprise Architecture View
 
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinIntro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
 
Hadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data WarehouseHadoop and Enterprise Data Warehouse
Hadoop and Enterprise Data Warehouse
 
CEP - simplified streaming architecture - Strata Singapore 2016
CEP - simplified streaming architecture - Strata Singapore 2016CEP - simplified streaming architecture - Strata Singapore 2016
CEP - simplified streaming architecture - Strata Singapore 2016
 
Enabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical EnterpriseEnabling the Real Time Analytical Enterprise
Enabling the Real Time Analytical Enterprise
 

Semelhante a Kafka ppt

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
 
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
 
Conteineres no Microsoft Azure
Conteineres no Microsoft AzureConteineres no Microsoft Azure
Conteineres no Microsoft AzureFabio Hara
 

Semelhante a Kafka ppt (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
 
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
 
Conteineres no Microsoft Azure
Conteineres no Microsoft AzureConteineres no Microsoft Azure
Conteineres no Microsoft Azure
 

Kafka ppt