Acionar atualizações para todas as instâncias do farm de servidores

Acionar atualizações para todas as instâncias do farm de servidores

Nossos servidores web (IIS 10) compartilham um banco de dados comum (SQL Server 2016). Eles pesquisam alguns dados do banco de dados em intervalos regulares. Quando um dos servidores web processa uma solicitação que leva a uma alteração nesses dados, ele atualiza o banco de dados e seus próprios dados. Porém as demais instâncias do servidor web não sabem dessa alteração de dados, portanto possuem dados antigos até a próxima enquete.

Como devemos instruir as outras instâncias do servidor web a atualizarem seus dados instantaneamente?


Exemplo:

  • A tabela de banco de dados tblUserRoles armazena todas as funções para todos os usuários.
  • Os servidores Web pesquisam esta lista uma vez por dia.
  • Quando o administrador revoga os direitos de um usuário, o servidor web que processa a solicitação sabe que deve atualizar o banco de dados e seu próprio UserRoleList imediatamente.
  • Mas como os outros servidores web sabem como atualizar seu UserRoleList?

Solução possível:

  • Um serviço interno mantém uma lista de todas as instâncias ativas do servidor web.
  • Quando um servidor web [A] processa uma solicitação que altera os dados, ele atualiza o banco de dados, atualiza sua própria lista de dados e solicita a lista de servidores ativos [BZ].
  • O servidor Web A invoca a atualização da lista de dados para os servidores BZ chamando cada um deles usando uma URL interna (por exemplo, /internal/update-user-roles)
  • Os servidores BZ agora atualizam seus dados pesquisando dados do banco de dados.

informação relacionada