Azure Service Bus - Aprimorar capacidade de resposta das suas aplicações. Parte 3.
Olá pessoal! Depois de algum tempo, finalmente consegui dar atenção a nossa última parte. Para relembrar, acesse aqui a primeira parte sobre Azure Service Bus - Parte 1, a segunda parte Azure Service Bus - Parte 2. Nesta 3ª e última parte faremos o laboratório sobre Topics e Subscriptions.
Pré-Requisitos
- Possuir uma conta no Azure Cloud. Se não tiver, obtenha uma conta gratuita para início imediato.
- Ter conhecimento sobre o .NET Core e linguagem C#
- No plano Basic temos apenas Queues. Atualize para Standard para poder criar Topics:
Criação - Topics
- Adicione uma novo Topic conforme exemplo a seguir:
- Informa as configurações de criação:
Então, podemos ver os Topics que foram criadas no painel, inclusive acessar diretamente para ver os detalhes:
-
Crie uma Subscription. Clique no Topic criado, selecione Subscription e clique em adicionar:
-
Configure as informações da Subscription como o exemplo a seguir:
Aplicação - Rodar RentCarServer (Topic)
Com a conexão configurada, no arquivo Program.cs já está configurado para executar o método RunTopic. Também, mude o valor da constante TopicName para o nome do Topic e o valor da constante SubscriptionName para o nome da Subscription criados no seu namespace. Agora rode a aplicação que subirá uma tela do console como a seguir:
Aplicação - Rodar RentCarClient (Topic)
Agora que o RentCarServer está rodando, precisamos iniciar a aplicação RentCarClient para que possamos começar a enviar as mensagens. Mas antes, configure o Program.cs conforme criamos no RentCarServer, ou seja, atribuir o nome do Topic e da Subscription que iremos utilizar iguais, para que haja comunicação. Devemos agora ter ambos RentCarServer e RentCarClient rodando:
No RentCarClient, basta teclar Enter para mandar mensagens para a Subscription e Topic. No RentCarServer ele já estará ouvindo e processando as mensagens:
Nota! Observem que a aplicação RentCarServer estava escutando a Subscription, que no caso deste exemplo é a “cloudmotion-subs1”, se houvessem as mesmas mensagens em mais subscriptions, somente esta seria consumida, preservando a mensagem nas outras subscrições e servindo como uma espécie de balanceamento para as requisições.
Parabéns por ter se interessado e nos acompanhar até aqui! Lembrando que você por explorar a partir desse ponto inicial e expandir a capacidade e uso das suas Queues, Topics e Subscriptions. Avance para os recursos avançados de controles de cada recurso, tais como, recuperação de mensagens, agendamento, etc. com Azure Service Bus.
Obrigado! Até a próxima!
Lucas Rocco Ferreira - Consultor Cloud & Devops
02/07/2020 | Por Lucas Rocco Ferreira | Em Técnico | Tempo de leitura: 2 mins.