SlideShare uma empresa Scribd logo
Felipe Lopes
Software Engineer
- Sistema de processamento de stream de dados em real
time / sistema de mensagem publish-subscribe distribuído:
- Persistência de mensagens com estrutura de disco O(1);
- Alto throughput: centenas de milhares de
mensagens/seg até em hardwares mais modestos;
- Clusterização no DNA: suporte a particionamento de
mensagens por entre servidores Kafka;
Apache Kafka
- Produto interno do LinkedIn;
- Open-sourced em 2011 e absolvido pela Apache
Foundation em 2012;
- Em 2014 engenheiros do LinkedIn criaram a Confluent,
empresa com foco em Kafka;
- Escrito em Scala e Java;
- Referência ao escritor alemão do século XX Franz Kafka;
Background
- Complexidade de integração:
- Sistema de registros;
- Ordenamento;
- Escalabilidade;
Data Integration
- POST
- PUT
- To “Pipe”
- To SQL;
- To Data
Lake;
Eventos
- Manter histórico de registros;
- Voltar no tempo (Allons-y);
- Reprocessamento;
Stream como registro
- Escalabilidade horizontal;
- Clusterização;
Escalabilidade
- Evento de criação antes de atualização;
Ordenamento
- Consumers distintos podem ter velocidades de
processamento distintas;
Pull over Push
Mais nodes = maior
throughput
Performance Linear
- Hub de eventos;
- Data pipeline;
- Entry point de Big data
(buffer);
Use cases
Event Hub
Semânticas
- Key, value, Timestamp;
- Imutável;
- Apenas inclusão;
- Persistido em disco;
Records
- Broker = nó no cluster;
- Producer escreve records
em um broker;
- Consumers leem records
em um broker;
- Líder / seguidor para
distribuição do cluster;
Producer & Consumer
- Tópico = nomenclatura
lógica para 1 ou mais
partições;
- Partições são replicadas;
- Ordenamento é garantido
apenas para uma partição;
Topics & Partitions
- ID único sequencial (por
partição);
- Consumers ou Kafka
mantêm o track do offset;
- Benefícios: Replay,
consumers com diferentes
velocidades, etc.
Offsets
- Escreve para o líder da
partição;
- Partições podem ser feitas
manualmente, baseadas
em uma chave ou
automáticas;
- Fator de replicação é
baseado no Tópico;
Particionamento
- Nome lógico para 1 ou mais
consumers;
- Consumo das mensagens é
feito em load balance por
entre todos os consumers
em um grupo;
Consumer groups
- Compressão de log (opcional);
- Disco não memória;
- Partições e líderes balanceados automaticamente;
- Heroku Kafka;
Cool features
- JVM é o oficial;
- Maioria das outras plataformas, pela comunidade;
- Confluent mantém clients C#, Go e Python;
- Baseado em polling;
Clients
Show me the code
Felipe Lopes
Software Engineer
felipe.lopes@socialminer.com
@OLopesFelipe
linkedin.com/in/felipelopes01
github.com/lopes-felipe
Seja um Miner
99jobs.com/social-miner/jobs

Mais conteúdo relacionado

PDF
Samba4+backup
ODP
PostgreSQL Transformando um elefante numa manada
PPTX
05 servidor dhcp
PPTX
07 - Atividade III
PPTX
06 - Servidor Apache
PDF
Linux - Samba
PDF
Samba, Squid, FTP, DHCP3
PPT
Servidor Samba
Samba4+backup
PostgreSQL Transformando um elefante numa manada
05 servidor dhcp
07 - Atividade III
06 - Servidor Apache
Linux - Samba
Samba, Squid, FTP, DHCP3
Servidor Samba

Mais procurados (19)

PDF
Roteiro nfs
PDF
Samba, Squid, FTP, DHCP1
PDF
Servidor apache
PDF
Alta disponibilidade com PostgreSQL
PDF
Samba4+debian8
PDF
Integração Windows e Linux com Samba
PDF
Linux - Servidor Web Apache
PPTX
Samba configurando
PDF
Redes prática - Samba
PPT
Servidores WEB
PDF
PDF
Slides nginx
PPSX
NFS – Network File System
PDF
PDF
Otimizacao de websites em PHP
PDF
Guia de configuração de um servidor linux para utilização em uma pequena empresa
PDF
Escalabilidade horizontal com PostgreSQL e Pgpool II
PDF
Percona XtraBackup
ODP
Roteiro nfs
Samba, Squid, FTP, DHCP1
Servidor apache
Alta disponibilidade com PostgreSQL
Samba4+debian8
Integração Windows e Linux com Samba
Linux - Servidor Web Apache
Samba configurando
Redes prática - Samba
Servidores WEB
Slides nginx
NFS – Network File System
Otimizacao de websites em PHP
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Escalabilidade horizontal com PostgreSQL e Pgpool II
Percona XtraBackup
Anúncio

Semelhante a Descomplicando Apache Kafka (20)

PDF
Apache Kafka: Comunicando microsserviços com performance
PPTX
Conhecendo Apache Kafka
PDF
Apache kafka
PDF
Introdução ao Kafka
PPTX
Kafka: Uma introdução para Desenvolvedores e Arquitetos
PDF
Sistemas Distribuídos - Publish-Subscribe - Kafka
PDF
Stream Processing - ThoughtWorks Architecture Group - 2017
PDF
Tecnologias para mineração de dados nas nuvens
PDF
Scala @ soundcloud [scaladores]
PDF
Scala na soundcloud [QCon]
PDF
Inove simplificando a infraestrutura com Kafka
PDF
Filesystem distribuído com hadoop!!!
PDF
Desenvolvimento Client-Side 2016
PDF
Web aula 46 - Conhecendo o ecossistema BIG DATA
PDF
Big Data Open Source com Hadoop
PDF
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
PDF
Modelos de computação distribuída no Hadoop
Apache Kafka: Comunicando microsserviços com performance
Conhecendo Apache Kafka
Apache kafka
Introdução ao Kafka
Kafka: Uma introdução para Desenvolvedores e Arquitetos
Sistemas Distribuídos - Publish-Subscribe - Kafka
Stream Processing - ThoughtWorks Architecture Group - 2017
Tecnologias para mineração de dados nas nuvens
Scala @ soundcloud [scaladores]
Scala na soundcloud [QCon]
Inove simplificando a infraestrutura com Kafka
Filesystem distribuído com hadoop!!!
Desenvolvimento Client-Side 2016
Web aula 46 - Conhecendo o ecossistema BIG DATA
Big Data Open Source com Hadoop
AWS Meetup - Processando dados em alta escala com Node.js e AWS Lambda
Modelos de computação distribuída no Hadoop
Anúncio

Último (7)

PDF
Evolução em código: algoritmos genéticos com PHP
PDF
apresentacao introducao computacao ead.pdf
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Evolução em código: algoritmos genéticos com PHP
apresentacao introducao computacao ead.pdf
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Mapeamento de Objeto para Tabela Relacional
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO

Descomplicando Apache Kafka

  • 2. - Sistema de processamento de stream de dados em real time / sistema de mensagem publish-subscribe distribuído: - Persistência de mensagens com estrutura de disco O(1); - Alto throughput: centenas de milhares de mensagens/seg até em hardwares mais modestos; - Clusterização no DNA: suporte a particionamento de mensagens por entre servidores Kafka; Apache Kafka
  • 3. - Produto interno do LinkedIn; - Open-sourced em 2011 e absolvido pela Apache Foundation em 2012; - Em 2014 engenheiros do LinkedIn criaram a Confluent, empresa com foco em Kafka; - Escrito em Scala e Java; - Referência ao escritor alemão do século XX Franz Kafka; Background
  • 4. - Complexidade de integração: - Sistema de registros; - Ordenamento; - Escalabilidade; Data Integration
  • 5. - POST - PUT - To “Pipe” - To SQL; - To Data Lake; Eventos
  • 6. - Manter histórico de registros; - Voltar no tempo (Allons-y); - Reprocessamento; Stream como registro
  • 7. - Escalabilidade horizontal; - Clusterização; Escalabilidade
  • 8. - Evento de criação antes de atualização; Ordenamento
  • 9. - Consumers distintos podem ter velocidades de processamento distintas; Pull over Push
  • 10. Mais nodes = maior throughput Performance Linear
  • 11. - Hub de eventos; - Data pipeline; - Entry point de Big data (buffer); Use cases
  • 14. - Key, value, Timestamp; - Imutável; - Apenas inclusão; - Persistido em disco; Records
  • 15. - Broker = nó no cluster; - Producer escreve records em um broker; - Consumers leem records em um broker; - Líder / seguidor para distribuição do cluster; Producer & Consumer
  • 16. - Tópico = nomenclatura lógica para 1 ou mais partições; - Partições são replicadas; - Ordenamento é garantido apenas para uma partição; Topics & Partitions
  • 17. - ID único sequencial (por partição); - Consumers ou Kafka mantêm o track do offset; - Benefícios: Replay, consumers com diferentes velocidades, etc. Offsets
  • 18. - Escreve para o líder da partição; - Partições podem ser feitas manualmente, baseadas em uma chave ou automáticas; - Fator de replicação é baseado no Tópico; Particionamento
  • 19. - Nome lógico para 1 ou mais consumers; - Consumo das mensagens é feito em load balance por entre todos os consumers em um grupo; Consumer groups
  • 20. - Compressão de log (opcional); - Disco não memória; - Partições e líderes balanceados automaticamente; - Heroku Kafka; Cool features
  • 21. - JVM é o oficial; - Maioria das outras plataformas, pela comunidade; - Confluent mantém clients C#, Go e Python; - Baseado em polling; Clients
  • 22. Show me the code