Repositório de estudos usando C# e Kafka. É necessário .NetCore 3.1 ou superior, docker e docker-compose instalados.
- Acesse a raiz do projeto usando cmd ou o terminal
- Execute os comandos abaixo, um por vez
cd tests/UnitTests/
dotnet test
- O resultado vai aparecer na tela
É necessário que o sistema tenha o x-terminal-emulator
instalado. Se esse não for o caso, você pode instalá-lo ou seguir o passo-a-passo para rodar nos demais sistemas.
- Acesse a raiz do projeto usando o terminal
- Execute os comandos abaixo, um por vez, para dar permissão de execução aos scripts
chmod 0755 start.sh
chmod 0755 stop.sh
- Execute o comando abaixo. O parâmetro 1 que passamos indica que o script vai criar 2 programas (1 par), e cada um vai ler e escrever no tópico do outro.
./start.sh 1
- Espere um tempo e veja os programas interagindo entre si.
- Quando quiser parar, execute o comando
./stop.sh
Na raiz do seu projeto, abra um cmd, terminal ou similar.
Para iniciar o contêiner rodando Kafka, execute os dois comandos abaixo.
docker-compose rm -svf
docker-compose up --build -d
O primeiro comando evita que outras execuções do Kafka atrapalhem a nossa, evitando o problema de node already exists; o segundo comando levanta o Kafka local.
Agora rode os comandos abaixo
cd WritRead
dotnet build
O nosso programa precisa de três parâmetros. O nome do serviço atual, o nome do tópico que ele deve escrever e o nome do tópico que ele vai ler.
dotnet run ESPIRIQUIDIBERTO PERGAMINHO GRIMOIRE
Esse programa está escrevendo no tópico PERGAMINHO e consumindo do tópico GRIMOIRE. Se passarmos o mesmo nome de tópico, significa que ele vai ler e produzir e consumir do mesmo tópico.
Para finalizar o teste, abra outro cmd ou terminal na raiz do projeto (não feche o anterior), e execute os comandos abaixo, um por vez.
cd WritRead
dotnet run CHAFUNDIFORNIO GRIMOIRE PERGAMINHO
As duas janelas deverão mostrar as mensagens umas das outras.
Para finalizar o programa, aperte a combinação CONTROL+C (ou equivalente) e o programa será fechado com segurança.