prefácio
Em alguns lugares, filas de mensagens são usadas para garantir a precisão do processamento de informações. Por exemplo, em situações de alta concorrência, sites realizam o processamento de dados. Hoje, este artigo registra uma demonstração simples do RabbitMQ. Antes de entrar neste artigo, o ambiente RbMQ deve ser instalado com antecedência (porque já instalei o ambiente local do RbMQ antes, e receio que desinstalar cause alguns problemas de que o registro não esteja limpo, então não vou registrar a instalação do ambiente aqui).
Ambiente e Ferramentas
>Sistema Windows 10
>Serviços Ambientais RabbitMQ
>VS 2017
Texto
1: Criar dois novos aplicativos de console, a saber: "RabbitMQClient" e "RabbitMQServer".
2: Consulte a dll "RabbitMQ.Client"
3: No projeto RabbitMQClient, Program.cs, cole o seguinte código
4: No projeto RabbitMQServer, Program.cs, cole o seguinte código
5: F5 para iniciar o projeto RabbitMQServer, no console, insira as informações, pressione enter.
6: Não feche o console do projeto RabbitMQServer, clique com o botão direito no projeto RabbitMQClient - > "Depurar" - > "Iniciar uma nova instância"
Você pode inserir informações no console RabbitMQServer à direita para exibi-las à esquerda. O projeto RabbitMQServer produz mensagens. O projeto RabbitMQClient processa (consome) mensagens. Este é o produtor e o consumidor na fila de mensagens. O código também envolve roteamento e canais.
Do lado do produtor de mensagens, coloque as informações a serem processadas na fila de mensagens. Após receber a mensagem, o consumidor pode processar esses dados de acordo.
Se o ambiente estiver instalado, o endereço padrão local deve ser http://localhost:15672/#/queues. Você pode acessar diretamente a conta de convidado, ou pode configurar a conta e as permissões correspondentes tocando na linha de comando.
As informações que você acabou de inserir no console RabbitMQServer realmente existem primeiro na fila de mensagens, você pode fechar primeiro a janela do RabbitMQClient, depois inserir algumas informações na janela, observar a fila de mensagens e ver que há três dados na fila.
Quando nossa janela RabbitMQClient inicia, a mensagem desaparece automaticamente da fila de mensagens após recebê-la normalmente. Esse é o mecanismo de confirmação da fila de mensagens: uma vez que as informações necessárias sejam recebidas corretamente, o consumidor retornará um estado à fila de mensagens para destruir a mensagem. Se o consumidor não receber a mensagem, ou se houver uma exceção e não devolver esse valor de status, a mensagem permanecerá na fila até que seja consumida normalmente, o que garante a precisão da mensagem.
Epílogo
Infelizmente, há pouquíssimos lugares onde uso filas de mensagens nos meus projetos. Sem um entendimento aprofundado, apenas o básico será usado.
Há uma lacuna na demonstração acima, e a conexão do RbMQ no RabbitMQClient tem uma camada de uso. Por ser uma thread assíncrona, isso fará com que o programa execute e recicle a Conexão RbMQ antes de terminar de receber a mensagem, e um erro será reportado. A forma de lidar com isso é: remova o uso e libere manualmente.
|