2008-09-04 4 views
0

В моей повседневной работе у нас есть балансированные нагрузкой веб-серверы, которые говорят о загрузке сбалансированных серверов приложений через веб-службы (и в последнее время WCF). В любой момент времени у нас есть 4-6 разных команд, которые имеют возможность добавлять новые веб-сайты или службы или потреблять существующие сервисы. У нас, вероятно, около 20-30 различных веб-приложений и соответствующих сервисов.Идентификация ссылок на веб-службу ASP.NET

К сожалению, учитывая, что у нас нет централизованного контроля над этим из-за конкурирующих приоритетов, структуры организации, сроки выполнения проекта, финансовые ведра и т. Д., Это довольно беспорядок. У нас есть множество сервисов, которые повторно используются, но куча, характерная для интерфейсного.

В идеале у нас был бы лучший контроль над этой ситуацией, и мы пытаемся получить контроль над ним, но это займет некоторое время. Одна вещь, которую мы хотели бы сделать, это узнать больше о том, что все взаимоотношения между веб-сайтами и серверами приложений.

Я использовал Reflector для поиска зависимостей между сборками, но хотел бы иметь возможность видеть шаблоны трафика между службами.

Каковы варианты для поиска связей веб-сервисов? По большей части мы в основном говорим о внутренних сервисах (веб-приложение, приложение к приложению, пакетное приложение и т. Д.). В верхней части моей головы я могу придумать два подхода:

  • Анализ сборок для любых ссылок в Интернете. Недостатком здесь является то, что не все является веб-ссылкой, и я не уверен, как перечислены соединения WCF. Однако это, по крайней мере, станет началом для поиска 80% соединений. Кто-нибудь знает какие-либо инструменты, которые могут сделать этот анализ? Как я уже сказал, я использовал Reflector для ссылок на сборку, но не могу найти что-либо для ссылок в Интернете.
  • Возможно, подключиться к IIS и пассивно контролировать входящий и исходящий трафик и как-то выяснить, что называется и откуда. Мы рассматриваем инструменты предприятия, которые могли бы помочь, но через некоторое время они будут реализованы (и будут стоить много). Но есть ли что-нибудь, что может помочь быстро и дешево? Один инструмент, в частности (AmberPoint), может использовать IIS на серверах и отслеживать входящий и исходящий трафик, добавляет немного специального соуса и начинает строить карту трафика. Очень приятно, но стоит комплект.

Я знаю, я знаю, как, черт возьми, вы попали в этот беспорядок в первую очередь? Бьет меня, просто пытаясь помочь нам получить контроль над ним и выйти из него.

Спасибо, Matt

ответ

0

Вам нужен реестр служб (UDDI ??) ... Если у вас есть средства для каталогизации этих сервисов и их потребителей, это облегчит эту работу по обнаружению зависимостей. Однако это не простое решение. Чтобы получить каталог, требуется время и документация.

Я думаю, что самым быстрым решением будет запрос ваших журналов IIS и поиск исходных URL-адресов, которые исходят от ваших собственных серверов.Вы, по крайней мере, сможете отслеживать, с каких серверов появляются ваши потребители.

Кроме того, если у вас уже есть какой-либо механизм проверки подлинности, вы можете отслеживать, кто использует конкретную услугу на основе входа.

Вы правы насчет AmberPoint. Существуют и другие инструменты, которые каталогизируют трафик служб и предоставляют отчеты, показывающие, что происходит с вашими услугами. Systinet, SOA Software и Actional также имеют продукты, подобные Amberpoint, но Amberpoint имеет бесплатную версию, я считаю.

2

Самый простой способ смотреть через журналы, но если это не включает в себя реферер, чем вы также можете контролировать то, что происходит с Вашего веб-сервер приложений. Вы можете использовать такие инструменты, как Wireshark или Microsoft Network Monitor, чтобы увидеть этот трафик.

Другое «решение», и я использую это свободно, чтобы связать определенный веб-сервер с сервером приложений, а затем запустить через комплект и посмотреть, что он наносит на сервер приложений. Возможно, вы могли бы сделать это в тестовой среде, чтобы извлечь уроки для пользователей сайта.