SlideShare a Scribd company logo
1 of 26
Download to read offline
@waldyrfelix
@waldyrfelix
@waldyrfelix
dev.to/wfelix
Head de Arquitetura de Software no
LinkApi, mais de 13 anos
desenvolvendo produtos escaláveis,
eterno estudante, professor e
palestrante.
Volume
● 1.4 trilhões de mensagens por dia
● 175 terabytes trafegados por dia
● picos de 13 milhões de msg/s
● aproximadamente 2,75 GB/s
Sem o Kafka o LinkedIn não seria capaz de
suportar o próprio crescimento
1. Kafka foi desenhado para mover
dados em alta performance
2. Distribuído nativamente e por padrão,
garantindo recuperação de falhas
3. Tem sido utilizado como
“single source of truth”
1. Flexível para publish/subscribe
2. Baixo acoplamento
3. Escalável horizontalmente
4. Alta vazão de dados (throughput)
5. Reliable & Durable
6. Usa tópicos ao invés de filas
Aplicações mais comuns:
● Message broker
● Storage system
● Streams processor
API Producer permite que aplicações
possam enviar streams para os tópicos
do Kafka.
Já as aplicações que lêem dados do
Kafka usam a API Consumer.
Para realizar operações com input e output
de dados sem tirar as mensagens do Kafka
usa-se a API de Streams.
A extração de dados de sistemas ou banco
de dados existentes pode ser feita usando
API Connectors.
Um topic é um stream que atua como
um banco de dados;
Possui armazenamento persistente;
Um tópico tem diversas partições, cada
uma definida por um número;
A quantidade de partições é definida na
criação do tópico.
As partições são independentes;
Ordenadas e a sequência dos registros
são imutáveis;
O offset é posição de um registro na
partição, ID sequencial e único do dado.
Os producers adicionam registros ao
stream sempre na cauda da partição;
Os consumers controlam o offset que
desejam ler;
Os consumers podem ler e reler as
mensagens sem “perdê-las”;
É possível criar consumer groups.
Se todos os consumers estiverem dentro
do mesmo consumer group, as mensagens
são entregues separadamente como um
load balancer.
Mas se os consumers estiverem em
consumer groups diferentes, as mensagens
são entregues para todos como um
broadcast.
Cada partição é replicada em diversos
brokers, de acordo o replication-factor;
Isto garante que um dado nunca seja
perdido;
Cluster possui a estratégia de
controllers, leaders e followers.
Implementando
um Pub/Sub
com Kafka
Criar conta no
https://confluent.cloud
npm install node-rdkafka --save
github.com/waldyrfelix/rocketseat-kafka
file: .env
KAFKA_URI = <host>
KAFKA_KEY = <key>
KAFKA_SECRET = <secret>
KAFKA_TOPIC = <topic>
KAFKA_CONSUMER_GROUP = <consumer-group>
Obrigado :)
dev.to/wfelix
insta / twitter / linkedin
@waldyrfelix

More Related Content

What's hot

Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developersconfluent
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin PodvalMartin Podval
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...HostedbyConfluent
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka IntroductionAmita Mirajkar
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian PerformanceAtlassian
 
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014Chen-en Lu
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링JANGWONSEO4
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarErlang Solutions
 
Facebook chat architecture
Facebook chat architectureFacebook chat architecture
Facebook chat architectureUdaya Kiran
 
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeApache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeEmre Akış
 
Netflix: From Clouds to Roots
Netflix: From Clouds to RootsNetflix: From Clouds to Roots
Netflix: From Clouds to RootsBrendan Gregg
 

What's hot (20)

Kafka Deep Dive
Kafka Deep DiveKafka Deep Dive
Kafka Deep Dive
 
Apache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and DevelopersApache Kafka Fundamentals for Architects, Admins and Developers
Apache Kafka Fundamentals for Architects, Admins and Developers
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
XPages Performance
XPages PerformanceXPages Performance
XPages Performance
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 
Apache Kafka - Overview
Apache Kafka - OverviewApache Kafka - Overview
Apache Kafka - Overview
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance
 
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
Apache Kafka: A high-throughput distributed messaging system @ JCConf 2014
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링
 
LMAX Architecture
LMAX ArchitectureLMAX Architecture
LMAX Architecture
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II Webinar
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Facebook chat architecture
Facebook chat architectureFacebook chat architecture
Facebook chat architecture
 
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - TürkçeApache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
Apache Kafka - Yüksek Performanslı Dağıtık Mesajlaşma Sistemi - Türkçe
 
Netflix: From Clouds to Roots
Netflix: From Clouds to RootsNetflix: From Clouds to Roots
Netflix: From Clouds to Roots
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 

Similar to Apache Kafka: Comunicando microsserviços com performance

Conhecendo Apache Kafka
Conhecendo Apache KafkaConhecendo Apache Kafka
Conhecendo Apache KafkaRafa Noronha
 
Descomplicando Apache Kafka
Descomplicando Apache KafkaDescomplicando Apache Kafka
Descomplicando Apache KafkaFelipe Lopes
 
Aplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaAplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaGustavo Bellini Bigardi
 
Scale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbScale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbFrancisco Gonçalves
 
7.Troca de mensagem (Message Parsing).pdf
7.Troca de mensagem (Message Parsing).pdf7.Troca de mensagem (Message Parsing).pdf
7.Troca de mensagem (Message Parsing).pdfManoel Ribeiro
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 
Controle de versão
Controle de versãoControle de versão
Controle de versãoZé Pereira
 
Web Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitWeb Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitMozDevz
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Aryel Tupinambá
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3IP10
 
Congresso iv
Congresso ivCongresso iv
Congresso ivIP10
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Sugizo Akino
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalJust Digital
 

Similar to Apache Kafka: Comunicando microsserviços com performance (20)

Conhecendo Apache Kafka
Conhecendo Apache KafkaConhecendo Apache Kafka
Conhecendo Apache Kafka
 
Descomplicando Apache Kafka
Descomplicando Apache KafkaDescomplicando Apache Kafka
Descomplicando Apache Kafka
 
Aplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaAplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache Kafka
 
Scale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria dbScale out database apps através de galera cluster e maria db
Scale out database apps através de galera cluster e maria db
 
Kafka streams
Kafka streamsKafka streams
Kafka streams
 
7.Troca de mensagem (Message Parsing).pdf
7.Troca de mensagem (Message Parsing).pdf7.Troca de mensagem (Message Parsing).pdf
7.Troca de mensagem (Message Parsing).pdf
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 
Controle de versão
Controle de versãoControle de versão
Controle de versão
 
Web Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to GitWeb Training Aula 04: Introduction to Git
Web Training Aula 04: Introduction to Git
 
Git hub and Laravel
Git hub and Laravel Git hub and Laravel
Git hub and Laravel
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Documento SpagoBI
Documento SpagoBIDocumento SpagoBI
Documento SpagoBI
 
Congresso iii unifacsv3
Congresso iii unifacsv3Congresso iii unifacsv3
Congresso iii unifacsv3
 
Congresso iv
Congresso ivCongresso iv
Congresso iv
 
Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01Bancodedadosesgbds 140326151327-phpapp01
Bancodedadosesgbds 140326151327-phpapp01
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just Digital
 

More from Waldyr Felix

Kubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerKubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerWaldyr Felix
 
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...Waldyr Felix
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.Waldyr Felix
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsWaldyr Felix
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsWaldyr Felix
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSWaldyr Felix
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com RedisWaldyr Felix
 
Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Waldyr Felix
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkWaldyr Felix
 
Produtividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCProdutividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCWaldyr Felix
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APIWaldyr Felix
 
Explorando Microsoft Fakes
Explorando Microsoft FakesExplorando Microsoft Fakes
Explorando Microsoft FakesWaldyr Felix
 
Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Waldyr Felix
 
ASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthWaldyr Felix
 

More from Waldyr Felix (20)

Kubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do DockerKubernetes: Escalando containers do Docker
Kubernetes: Escalando containers do Docker
 
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
A história do LinkApi, como chegamos numa arquitetura para suportar 1 milhão ...
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.js
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJS
 
Escalando Aplicações com Redis
Escalando Aplicações com RedisEscalando Aplicações com Redis
Escalando Aplicações com Redis
 
Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014Sistema de Notificações com SignalR TDC 2014
Sistema de Notificações com SignalR TDC 2014
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity Framework
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
Produtividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVCProdutividade na criação de websites com ASP.NET MVC
Produtividade na criação de websites com ASP.NET MVC
 
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web APITrilha .NET - REST na plataforma Microsoft com ASP.NET Web API
Trilha .NET - REST na plataforma Microsoft com ASP.NET Web API
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
Explorando Microsoft Fakes
Explorando Microsoft FakesExplorando Microsoft Fakes
Explorando Microsoft Fakes
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012Usando Scrum com Team Foundation Server 2012
Usando Scrum com Team Foundation Server 2012
 
ASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic AuthASP.NET WebAPI HTTP Basic Auth
ASP.NET WebAPI HTTP Basic Auth
 

Apache Kafka: Comunicando microsserviços com performance

  • 1.
  • 2. @waldyrfelix @waldyrfelix @waldyrfelix dev.to/wfelix Head de Arquitetura de Software no LinkApi, mais de 13 anos desenvolvendo produtos escaláveis, eterno estudante, professor e palestrante.
  • 3. Volume ● 1.4 trilhões de mensagens por dia ● 175 terabytes trafegados por dia ● picos de 13 milhões de msg/s ● aproximadamente 2,75 GB/s
  • 4. Sem o Kafka o LinkedIn não seria capaz de suportar o próprio crescimento
  • 5.
  • 6. 1. Kafka foi desenhado para mover dados em alta performance 2. Distribuído nativamente e por padrão, garantindo recuperação de falhas 3. Tem sido utilizado como “single source of truth”
  • 7. 1. Flexível para publish/subscribe 2. Baixo acoplamento 3. Escalável horizontalmente 4. Alta vazão de dados (throughput) 5. Reliable & Durable 6. Usa tópicos ao invés de filas
  • 8. Aplicações mais comuns: ● Message broker ● Storage system ● Streams processor
  • 9.
  • 10. API Producer permite que aplicações possam enviar streams para os tópicos do Kafka. Já as aplicações que lêem dados do Kafka usam a API Consumer.
  • 11. Para realizar operações com input e output de dados sem tirar as mensagens do Kafka usa-se a API de Streams. A extração de dados de sistemas ou banco de dados existentes pode ser feita usando API Connectors.
  • 12.
  • 13. Um topic é um stream que atua como um banco de dados; Possui armazenamento persistente; Um tópico tem diversas partições, cada uma definida por um número; A quantidade de partições é definida na criação do tópico.
  • 14. As partições são independentes; Ordenadas e a sequência dos registros são imutáveis; O offset é posição de um registro na partição, ID sequencial e único do dado.
  • 15.
  • 16. Os producers adicionam registros ao stream sempre na cauda da partição; Os consumers controlam o offset que desejam ler; Os consumers podem ler e reler as mensagens sem “perdê-las”; É possível criar consumer groups.
  • 17. Se todos os consumers estiverem dentro do mesmo consumer group, as mensagens são entregues separadamente como um load balancer.
  • 18. Mas se os consumers estiverem em consumer groups diferentes, as mensagens são entregues para todos como um broadcast.
  • 19.
  • 20. Cada partição é replicada em diversos brokers, de acordo o replication-factor; Isto garante que um dado nunca seja perdido; Cluster possui a estratégia de controllers, leaders e followers.
  • 25. file: .env KAFKA_URI = <host> KAFKA_KEY = <key> KAFKA_SECRET = <secret> KAFKA_TOPIC = <topic> KAFKA_CONSUMER_GROUP = <consumer-group>
  • 26. Obrigado :) dev.to/wfelix insta / twitter / linkedin @waldyrfelix