Trabalhando WCF WebServices com servidor NLB

1

Estou começando a arquitetura de um novo projeto usando o WCF, mas não sou a pessoa certa para fazer algumas considerações de rede, então estou fazendo algumas pesquisas, mas não consigo encontrar as respostas para essas perguntas:

  1. Hospedaremos o serviço WCF em um aplicativo comum do Serviço do Windows em dois servidores e teremos outro servidor para fazer o trabalho de balanceamento de carga usando o WNLB. O fato de estarmos hospedando o WCF em um aplicativo do Serviço do Windows pode atrapalhar o trabalho do NLB?

  2. Antes da minha pesquisa, achei que o balanceamento de carga tinha sido configurado, mas com o NLB parece ser muito simples, é realmente tão simples assim?

Nota: A ligação será basicHttpBinding

    
por gog 21.08.2014 / 21:27

1 resposta

1

Não consigo falar especificamente com o NLB com relação ao balanceamento de carga de serviços WCF, mas suportei e construí muitos serviços da Web WCF de carga balanceada no passado. No geral, eu não recomendaria o uso de NLB, fora de um ambiente Dev, já que o NLB não é bem dimensionado. No entanto, se você não tiver acesso a um balanceador de carga de hardware ou ao desejo de entrar no Linux (HAProxy / Varnish / Nginx), ele poderá funcionar.

Então:

  1. Não, o NLB não deve ter problemas no balanceamento de carga de um serviço da Web WCF.
  2. O
  3. NLB é mais simples de configurar, pois possui menos recursos do que uma solução de balanceamento de carga mais robusta. É o que é. Há muitas opções que você ainda pode usar, incluindo reescrever, mas o NLB não é uma solução de balanceamento de carga com muitos recursos.

A única ressalva que eu tenho para isso é mais a balanceamento de carga do WCF do que com o NLB. Se você planeja usar SSL com seu serviço WCF e faz a transição para um balanceador de carga que ofereça suporte ao descarregamento de SSL, poderá encontrar problemas com o WSDL não disponível através do VIP (endereço IP do servidor virtual). Existem soluções alternativas, mas como você ainda não chegou lá, eu só queria que você soubesse disso e não te assustasse.

EDIT: Eu estava indo para elaborar sobre como endereçar metadados em um cenário de descarregamento de SSL, mas um post recente do blog do MSDN trata muito mais elegantemente:

link

A essência é que existem duas opções, modificando o customBinding para permitir enableUnsecuredResponse ou modificar o WSDL completamente para disponibilizá-lo via HTTPS no servidor. A opção 2 é a maneira mais eficaz de lidar com isso, pois permitirá melhor compatibilidade com tecnologias não .NET.

    
por 21.08.2014 / 23:43