Rota ARR para servidor específico no farm

Rota ARR para servidor específico no farm

Tenho 3 locais, cada um com seu próprio servidor (s1.mysite.com, s2.mysite.com, s3.mysite.com). Tudo isso faz parte do Site: app.mysite.com.

Gostaria de usar o ARR para encaminhar a solicitação para servidores específicos no farm com base no local de origem da solicitação (a solicitação do site 1 vai para s1.mysite.com, que é local para sua localização), permitindo ao mesmo tempo o failover para um dos outros no caso de um problema com esse servidor específico.

Eu sei como distribuir a solicitação com base na string de consulta para o servidor específico por nome DNS (s1.mysite.com), mas esse nome não funcionaria se o servidor ficasse inativo.

Posso conseguir essa redundância e distribuição de trabalho dessa maneira usando o Microsoft ARR?

Responder1

Dependendo do seu raciocínio para esse tipo de configuração, as soluções possíveis podem mudar. Vejo dois motivos que podem estar em jogo aqui:

  • Tentando alcançar alta disponibilidade, preferindo servidores de aplicativos que fornecerão os melhores tempos de resposta (cenário 1)
  • Apresentar conteúdo personalizado com base no site em que o usuário está localizado (cenário 2)

Cenário 1

Se você estiver tentando obter HA e obter os melhores tempos de resposta, terá um problema porque todas as solicitações precisam passar primeiro pelo servidor ARR. Uma maneira de contornar isso seria ter um ARR em cada site, usar o DNS para direcionar os usuários ao servidor ARR do site e, em seguida, usar o algoritmo de balanceamento de carga "Mínimo tempo de resposta". Teoricamente, isso direcionará os usuários do site 1 para s1.mysite.com, ao mesmo tempo que fornece failover para s2 e s3 se s1 cair.

No entanto, se um problema de rede estiver fazendo com que s1.mysite.com fique indisponível, isso também poderá fazer com que o servidor ARR no site 1 também fique indisponível. No entanto, isso protegeria você contra falhas de aplicativos em s1.mysite.com.

Cenário 2

Parece não haver nada disponível imediatamente para executar o tipo de roteamento que você deseja realizar. No entanto, existem APIs expostas que permitem criar um provedor de reescrita personalizado para reescrita de URL. Informações sobre como fazer isso podem ser encontradasAqui. Você pode usar informações de variáveis ​​de servidor, cabeçalhos de solicitação ou até mesmo parâmetros de string de consulta em conjunto com um provedor de reescrita personalizado para executar o tipo de roteamento que deseja obter.

informação relacionada