GithubHelp home page GithubHelp logo

kafka-tests's Introduction

Kafka Tests

Testes realizados com o Kafka na versão utilizada em produção 1.1.0.

Esta versão é antiga e estamos planejando a migração para a versão 2 do Kafka em produção.

Os comandos abaixo podem mudar para a versão 2 do Kafka.

Encontros:

1° encontro (2021-12-10)

Assuntos:

  • Setup inicial
  • Brokers
  • Network

Network

Servers:

# inside docker network
KAFKA_SERVERS=kafka-0:9092,kafka-1:9092,kafka-2:9092
ZOOKEEPER_SERVERS=zookeeper:2181

# on host:
KAFKA_SERVERS=localhost:19090,localhost:19091,localhost:19092
ZOOKEEPER_SERVERS=localhost:2181

Comandos:

# start do cluster
docker-compose up -d zookeeper
docker-compose up -d

2° encontro (2022-02-04)

Assuntos:

  • Criação de tópicos
  • Réplicas + Leaders + InSync
  • Rebalance

Consumers vs Partitions

Comandos:

source env.sh

# verificar metadados do cluster
docker run --rm --net=host confluentinc/cp-kafkacat \
  kafkacat -L -b "${KAFKA_SERVERS}"

# criar tópico TESTE
kafka-topics.sh \
  --zookeeper "${ZOOKEEPER_SERVERS}" \
  --topic TESTE \
  --create \
  --replication-factor=2 \
  --partitions=16

# consumir tópico TESTE
kafka-console-consumer.sh \
  --bootstrap-server "${KAFKA_SERVERS}" \
  --topic TESTE \
  --group TEST_GROUP

# produzir no tópico TESTE
kafka-console-producer.sh \
  --broker-list "${KAFKA_SERVERS}" \
  --topic TESTE

# distribuição das partições entre consumidores
kafka-consumer-groups.sh \
  --bootstrap-server 127.0.0.1:19090 \
  --group TEST_GROUP \
  --describe |\
  awk '{print $1,$6}' | sort | uniq -c

3° encontro (2022-02-18)

Assuntos:

  • partition size
  • partition offset
  • fetch
  • session timeout
  • heartbeat

Partitions

4° encontro (2022-02-25)

Assuntos:

Kafka Metrics

Comandos:

source env.sh

# produtor
kafka-producer-perf-test.sh \
  --topic TESTE \
  --num-records 50000 \
  --record-size 512 \
  --throughput 400 \
  --producer-props \
    acks=1 \
    bootstrap.servers=${KAFKA_SERVERS} \
    batch.size=64

# consumidor
kafka-consumer-perf-test.sh \
  --broker-list "${KAFKA_SERVERS}" \
  --topic TESTE \
  --group PERF_GROUP \
  --messages 50000 \
  --threads 1

5° encontro (04/03/2022)

Assuntos:

  • kafkajs: configurations
  • heartbeat
  • lag test

6° encontro (11/03/2022)

Assuntos:

  • teste integrado com microsserviços

kafka-tests's People

Contributors

hmagarotto avatar rafaelgpimenta avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.