NODE + TYPESCRIPT + KAFKA
Combinação escalável
Gustavo Sales Santos
Engenheiro de Software, com maior foco em front
Formado em Jogos Digitais pela FIAP
Programando desde quando jQuery era moda
Redes sociais
linkedin.com/in/gsaless
twitter.com/salesgu_
github.com/salesgu
QUEM SOU EU
AFINAL, O QUE É
NODEJS?
AFINAL, O QUE É
TYPESCRIPT?
AFINAL, O QUE É
KAFKA?
"é uma plataforma distribuída de mensagens e streaming"
(2017, Documentação)
APACHE KAFKA
Pontos importantes:
- Produção de mensagem
- Commit no tópico
- Consumo de mensagem
Confira a documentação:
https://kafka.apache.org/
"é uma plataforma distribuída de mensagens e streaming"
UMA IMAGEM VALE MAIS
Matt Kirwan. Outubro, 2016.
E UM GIF MUITO MAIS
ZooKeeper
Kafka
OTIMIZANDO COM
AVRO
PENSE "BUFFERIZADO"
const avro = require('avsc');
const schema = {
"type": "record",
"name": "NerdzaoExample",
"namespace": "nerdzao.event",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "name",
"type": {
"type": "string",
}
},
{
"name": "role",
"type": {
"type": "enum",
"name": "RoleEnum",
"symbols": [
"ADMIN",
"USER",
"GUEST"
]
}
}
]
};
const type = avro.parse(schema);
const buffer = type.toBuffer({
"id": "vZmBhbWSXMngVsodYBsvmwjEp",
"name": "Gustavo Sales",
"role": "ADMIN"
});
console.log(buffer)
VAMOS PARA O
EXEMPLO NA PRÁTICA
AFINAL, QUAL A VANTAGEM DESSA
COMBINAÇÃO ESCALÁVEL?
TEMOS TEMPO PARA
PERGUNTAS?
Redes sociais
linkedin.com/in/gsaless
twitter.com/salesgu_
github.com/salesgu
DESDE JÁ
OBRIGADO! :D
Redes sociais
linkedin.com/in/gsaless
twitter.com/salesgu_
github.com/salesgu
Exemplo: https://github.com/salesgu/ts-node-kafka-example
Node, Typescript e Kafka: combinação escalável
By Gustavo Sales
Node, Typescript e Kafka: combinação escalável
- 389