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