Azure Service Bus - Aprimorar capacidade de resposta das suas aplicações. Parte 2.

Olá pessoal! Dando sequência a primeira parte sobre Azure Service Bus - Parte 1, nesta segunda parte trarei conteúdo mais prático, afim de mostrar que é possível iniciar rapidamente o uso do serviço para turbinar suas aplicações.

Em resumo, nesse laboratório iremos primeiro configurar no Azure Cloud o serviço Azure Service Bus e depois, consumindo o serviço através de uma aplicação .NET Core com linguagem C#.

Pré-Requisitos

  1. Possuir uma conta no Azure Cloud. Se não tiver, obtenha um conta gratuita para início imediato.
  2. Ter conhecimento sobre o .NET Core e linguagem C#

Criação - Azure Service Bus

  1. Precisamos pesquisar no Azure Cloud o serviço Service Bus:

Pesquisar Service Bus
Pesquisar Service Bus (clique para ampliar)
  1. Adicionar um namespace através do comando Add:

Adicionar Namespace
Adicionar Namespace (clique para ampliar)
  1. Criando o Namespace. Informe o recurso, o nome da sua namespace, a região e o plano (que para teste, você pode escolher por enquanto o plano Basic) e clique no botão Review + Create. Veja o exemplo abaixo:

Criando Namespace
Criando Namespace (clique para ampliar)

Após a publicação ser terminada pelo Azure, você já tem acesso ao Namespace criado, como no exemplo a seguir:

Namespace Overview
Namespace Overview (clique para ampliar)

Agora podemos dar inicio ao uso das Queues e Topics.

Criação - Queue

  1. Adicione uma nova Queue conforme exemplo a seguir:

Criando Queue
Criando Queue (clique para ampliar)

Então, podemos ver as Queues que foram criadas no painel, inclusive acessa-las diretamente para ver os detalhes:

Queue Overview Queue Detail

Conexão - Namespace

Para que possamos utilizar em nossa aplicação a Queue criada, precisaremos das informações de conexão com o serviço, que estão localizadas na opção Settings > Shared access policies > RootManageSharedAccesKey:

SAS
SAS (clique para ampliar)

Importante! Como é uma informação sensível de segurança, temos de ter atenção na hora de salvar essas informações. Utilizaremos a seguir a informação do Primary Connection String

Aplicação - Conexão com o Namespace

Para nos conectarmos com o Namespace do Azure Service Bus, precisamos configurar nossa aplicação. Esta aplicação de demonstração tem seu código fonte disponivel neste repositório bootcamp-servicebus do GitHub.

Bootcamp Service Bus Repo
Bootcamp Service Bus Repo (clique para ampliar)

Nota! Ambos, RentCarServer e RentCarClient devem ter suas conexões configuradas de acordo com a connection string” exposta na configuração do seu *namespace.

App Config - Connection String
App Config - Connection String (clique para ampliar)

Aplicação - Rodar RentCarServer (Queue)

Com a conexão configurada, no arquivo Program.cs já está configurado para executar o método RunQueue. Também, mude o valor da constante QueueName para o nome da queue criada no seu namespace. Agora rode a aplicação que subirá uma tela do console como a seguir:

RentCarServer Queue - Run
RentCarServer Queue - Run (clique para ampliar)

Aplicação - Rodar RentCarClient (Queue)

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 da queue que iremos utilizar igual, para que haja comunicação. Devemos agora ter ambos RentCarServer e RentCarClient rodando:

RentCarClient Queue - Run
RentCarClient Queue - Run (clique para ampliar)

No RentCarClient, basta teclar Enter para mandar mensagens para a queue. No RentCarServer ele já estará ouvindo e processando as mensagens:

RentCarClient e RentCarServer Queue
RentCarClient e RentCarServer Queue (clique para ampliar)

Bom por enquanto ficamos aqui. Explore a partir desse ponto inicial e expanda a capacidade e uso das suas Queues. Na Parte 3 eu mostrarei como criar Topics no Azure Service Bus e rodar em ambos RentCarServer e RentCarClient.

Obrigado! Até a próxima!

Lucas Rocco Ferreira - Consultor Cloud & Devops



15/05/2020 | Autor: Lucas Rocco Ferreira | Categoria: Técnico

Postagens relacionadas