Pergunta

No meu trabalho temos balanceamento de carga de servidores web que falar com carga equilibrada, servidores de aplicação, através de serviços web (e, ultimamente, o WCF).Em qualquer momento dado, temos 4-6 diferentes equipes que têm a capacidade de adicionar novos serviços ou web sites ou consumir os serviços existentes.Nós, provavelmente, tem cerca de 20-30 diferentes aplicativos da web e serviços correspondentes.

Infelizmente, dado que nós não temos nenhum controle centralizado sobre isso devido a outras prioridades, org estruturas, cronogramas de projetos, financeiro, baldes, etc., é uma grande bagunça.Temos uma grande variedade de serviços que são reutilizados, mas um monte que são específicas para um front-end.

A situação ideal seria ter um melhor controle sobre essa situação, e estamos a tentar obter controle sobre ele, mas que está tendo um tempo.Uma coisa que gostaria de saber mais sobre o que todas as inter-relações entre os sites da web e servidores de aplicação.

Eu tenho usado Refletor para encontrar dependências entre assembléias, mas gostaria de ser capaz de ver os padrões de tráfego entre os serviços.

Quais são as opções para tentar traçar um mapa de serviço da web relacionamentos?Para a maior parte, estamos sobretudo a falar de serviços internos (web app, app para app, lote app, etc.).Em cima da minha cabeça, eu posso pensar em duas formas de abordagem:

  • Analisar conjuntos para quaisquer referências a web.A desvantagem aqui é que nem tudo é uma referência da web e eu não tenho certeza de como o WCF conexões são listados.No entanto, este poderia ser, pelo menos, um começo para encontrar 80% das conexões.Alguém sabe de ferramentas que possam fazer essa análise?Como eu disse, eu tenho usado Refletor para referências de assembly, mas não consigo encontrar nada para referências da web.
  • Possivelmente, toque no IIS e passivamente monitorar o tráfego que entra e sai e, de alguma forma, descobrir o que está sendo chamado e de onde.Estamos olhando para uma empresa de ferramentas que poderiam ajudar, mas seria um tempo antes de serem implementados (e muito caro).Mas há algo lá fora, que pudesse ajudar de forma rápida e barata?Uma ferramenta em particular (AmberPoint) pode tocar no IIS no servidor de e monitorar o tráfego de entrada e saída, adiciona um pouco de molho especial e começar a construir um mapa de tráfego.Muito bom, mas os custos de um pacote.

Eu sei, eu sei, como diabos você esta bagunça em primeiro lugar?Bate-me, apenas tentando ajudar-nos a obter o controle do mesmo e sair dela.

Obrigado, Matt

Foi útil?

Solução

Você precisa de um serviço de registo UDDI (??)...Se você tivesse um meio para catalogar esses serviços e seus consumidores, faria esse trabalho de dependência descoberta muito mais fácil.Que não é uma solução fácil, no entanto.É preciso tempo e documentação para obter um código de catálogo no lugar.

Eu acho que a solução mais rápida seria para consultar os logs do IIS e encontrar os URLs de origem que se originam a partir de seus próprios servidores.Você poderia pelo menos ser capaz de localizar os servidores de seus consumidores estão vindo.

Também, se você já tem algum tipo de mecanismo de autenticação no local, você pode rastrear o que está usando um serviço particular, com base no login.

Você está certo sobre a AmberPoint.Existem outras ferramentas que o catálogo do serviço de trânsito e fornecer relatórios mostrando o que está acontecendo com seus serviços.Conjunto de systinet, SOA Software e Actional também tem um produto semelhante a Amberpoint, mas Amberpoint tem um free-ware versão, eu acredito.

Outras dicas

A maneira mais fácil é olhar através de logs, mas se não incluir a referência que você pode também monitorar o que está acontecendo fora de sua web para o servidor de aplicativo.Você pode usar ferramentas como o Wireshark ou o Monitor de Rede Microsoft para ver este tráfego.

A outra "solução" e eu uso esta é vagamente para ligar a um servidor web específico para o aplicativo de servidor e, em seguida, execute através de um pacote e ver o que ele está batendo no servidor de aplicativos.Você provavelmente poderia fazer isso em um ambiente de teste para a aula os efeitos sobre os usuários do site.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top