Um sistema de votação dividido em duas partes, onde uma fique gerando votos aos montes, como se fosse uma competição para eleger um único ganhador. E para que o sistema não caia, teremos um processador desses votos, utilizando mensageria com RabbitMQ de forma escalável para aguentar a alta demanda de votos.
Nome | Descrição |
---|---|
RabbitMQ | Consumo de mensagens de um broker |
Console Application | Criada com .NET Core 3.1 |
Serilog | Gerenciamento de logs da aplicação |
Realize a instalação e, faça as configurações necessárias para que suba o servidor
RabbitMQ
na porta padrãohttp://127.0.0.1:15672/#/
.
Nome | Descrição | Obrigátorio |
---|---|---|
🌎Erlang | Requisito necessário para o RabbitMQ ser instalado | ✅ |
🌎RabbitMQ | Streaming de menssagens | ✅ |
🌎RabbitMQ Management | Gerenciador com interface para o RabbitMQ, faça login com: guest e senha: guest | ❌ |
Após realizar as configurações do
RabbitMQ Management
e já com oservidor
em pé crie um tópico com o nome que você irá configurar logo depois na demo.
No arquivo
appsettings.json
, você deve colocar as configurações que você fez nos passos anteriores.
{
"RabbitMQ_Broker": "http://127.0.0.1:15672",
"RabbitMQ_Topic": "<nome_topico>",
"TotalVotos": "10"
}
Console application
Simulador-Votos
.
Console application
Processador-Votos
.