Introdução
Como engenheiro da Tailwind Traders, você aprendeu que sua empresa está planejando lançar um novo site que fornece informações sobre preços das ações aos clientes. Recentemente, um estagiário criou um protótipo de site para o novo aplicativo e o Arquiteto Líder está solicitando que você entre e melhore a solução. Seu objetivo é atualizar o aplicativo para implementar atualizações automáticas das informações de preço das ações, mas garantir que a comunicação entre o cliente e o servidor ocorra somente quando os dados forem alterados no servidor.
Arquitetura de protótipo
O protótipo do servidor tem duas funções:
Nome da função | Tipo de gatilho | Descrição |
---|---|---|
getStocks | Azure Cosmos DB (banco de dados distribuído da Azure) | O servidor é responsável por ler todos os dados da tabela de ações no banco de dados e retornar esses dados em uma resposta HTTP sempre que o cliente solicitar. |
setPrice | Temporizador | A função que altera os dados no banco de dados é executada por um gatilho temporal. Essa função simula o recebimento de alterações de um sistema de back-end. |
Como um protótipo, o estagiário simulou o feed de ações com uma função de temporizador, que é atualizada a cada minuto. O site do cliente solicita todos os estoques do endpoint da API a cada cinco segundos para tentar mostrar dados em quase tempo real. Essa solicitação de cliente não é eficiente. Em vez de efetuar pull dos dados do servidor, é mais eficiente para o servidor efetuar push das novas informações de ações.
Tarefas a serem feitas
Neste módulo, você aprenderá a:
- Executar o protótipo: Exibir o aplicativo cliente, que investiga o servidor para todas as ações em um intervalo regular.
- Aprimorar o aplicativo: Implementar um aplicativo do Azure Functions sem servidor para transmitir alterações para os clientes conectados usando o Serviço do SignalR para atualizações quase em tempo real.
- Atualize o aplicativo Web JavaScript cliente para se conectar ao SignalR para obter e exibir as mensagens.