Criar um processador de eventos disponibilizando dados com baixa latência.
- mock_producer: responsável por gerar dados para o desafio.
- Apache Kafka e Schema Registry: são como uma "pedra angular". Responsáveis por armazenar dados, gerenciar compatibilidade de schemas e fornecer dados de forma escalável e em baixa latência.
- event_processor: consome dados, valida e separa o respectivo
event_type
para cada cliente (de acordo com de x para pré configurado). - debugger: mostra mensagens no terminal.
- expor dados através de Rest Proxy ou REST API proprietária.
- criar webhooks caso HAJA necessidade.
- migrar
event_processor.py
para outra tecnologia mais escalável caso vire um gargalo. Apache Flink, Siddhi ou solução proprietária.
Após o preenchimento do arquivo configurations.yaml
, na raiz do projeto, executar os comandos abaixo na raiz do projeto.
Provisionamento do broker Kafka.
make kafka-up
Iniciando execução do produtor de dados (mock).
make mock-start
Iniciando execução do processador de eventos, que consome, valida e produz dados para N clientes.
make event-process-start
Inicio do debugger para visualizar mensagens produzidas pelo event_processor.
make debugger-start
Subir broker Kafka.
make kafka-up
Rodar tests.
make tests