Introdução

Concluído

Como engenheiro da Tailwind Traders, você descobriu que sua empresa está planejando lançar um novo site que fornece informações sobre o preço das ações aos clientes. Recentemente, um estagiário criou um protótipo de site para a nova aplicação e o Lead Architect pediu agora que interviesse e melhorasse a solução. Seu objetivo é atualizar o aplicativo para implementar atualizações automáticas das informações do preço das ações, mas garantir que a comunicação entre o cliente e o servidor aconteça apenas quando os dados forem alterados no servidor.

Arquitetura de protótipos

O protótipo do servidor tem 2 funções:

Nome da função Tipo de gatilho Descrição
obterAções Azure Cosmos DB O servidor é responsável por ler todos os dados da tabela de estoques no banco de dados e retornar esses dados em uma resposta HTTP sempre que o cliente solicitar.
definirPreço Temporizador Uma função para alterar os dados no banco de dados é executada em um gatilho de temporizador. Isso simula o recebimento de alterações de um sistema de back-end.

Como protótipo, o estagiário simulou a alimentação do estoque com uma função de temporizador, que é atualizada a cada minuto. O site do cliente solicita todas as ações de mercado do endpoint da API /api/getStocks a cada 5 segundos com o objetivo de exibir dados quase em tempo real. Esta solicitação do cliente não é eficiente. Em vez de extrair os dados do servidor, é mais eficiente para o servidor enviar por push qualquer nova informação de estoque.

Tarefas a realizar

Neste módulo, você irá:

  • Execute o protótipo: Visualize o aplicativo cliente, que sonda o servidor para todos os estoques em um intervalo regular
  • Melhorar o aplicativo: implemente um aplicativo do Azure Functions sem servidor para transmitir alterações para clientes conectados usando o Serviço SignalR para atualizações quase em tempo real do produto.
  • Atualize o aplicativo Web JavaScript cliente para se conectar ao SignalR para obter e exibir as mensagens.