Frage

Bei meiner täglichen Arbeit haben wir Webserver mit Lastausgleich, die über Webdienste (und neuerdings auch WCF) mit App-Servern mit Lastausgleich kommunizieren.Zu jedem Zeitpunkt verfügen wir über 4–6 verschiedene Teams, die die Möglichkeit haben, neue Websites oder Dienste hinzuzufügen oder bestehende Dienste zu nutzen.Wir haben wahrscheinlich etwa 20-30 verschiedene Webanwendungen und entsprechende Dienste.

Da wir aufgrund konkurrierender Prioritäten, Organisationsstrukturen, Projektzeitpläne, Finanzrahmen usw. keine zentrale Kontrolle darüber haben, ist das leider ein ziemliches Durcheinander.Wir haben eine Vielzahl von Diensten, die wiederverwendet werden, aber auch viele, die spezifisch für ein Frontend sind.

Im Idealfall hätten wir diese Situation besser unter Kontrolle, und wir versuchen, sie unter Kontrolle zu bringen, aber das dauert eine Weile.Wir möchten gerne mehr über die Zusammenhänge zwischen Websites und App-Servern herausfinden.

Ich habe Reflector verwendet, um Abhängigkeiten zwischen Assemblys zu finden, möchte aber gerne die Verkehrsmuster zwischen Diensten sehen.

Welche Möglichkeiten gibt es, Web-Service-Beziehungen abzubilden?Größtenteils sprechen wir hauptsächlich von internen Diensten (Web to App, App to App, Batch to App usw.).Aus dem Kopf fallen mir zwei Möglichkeiten ein, an die Sache heranzugehen:

  • Analysieren Sie Baugruppen auf beliebige Webverweise.Der Nachteil hierbei ist, dass nicht alles eine Webreferenz ist und ich nicht sicher bin, wie WCF-Verbindungen aufgelistet werden.Dies wäre jedoch zumindest ein Anfang, um 80 % der Verbindungen zu finden.Kennt jemand Tools, die diese Analyse durchführen können?Wie gesagt, ich habe Reflector für Assembly-Referenzen verwendet, kann aber nichts für Web-Referenzen finden.
  • Greifen Sie möglicherweise auf IIS zu und überwachen Sie passiv den ein- und ausgehenden Datenverkehr und finden Sie irgendwie heraus, was angerufen wird und woher.Wir suchen nach Unternehmenstools, die helfen könnten, aber es würde eine Weile dauern, bis sie implementiert werden (und viel kosten).Aber gibt es irgendetwas, das schnell und kostengünstig helfen könnte?Insbesondere ein Tool (AmberPoint) kann auf IIS auf den Servern zugreifen und den ein- und ausgehenden Datenverkehr überwachen, fügt eine kleine Spezialität hinzu und beginnt mit der Erstellung einer Karte des Datenverkehrs.Sehr schön, kostet aber viel.

Ich weiß, ich weiß, wie zum Teufel bist du überhaupt in diesen Schlamassel geraten?Es geht mir besser, wenn ich nur versuche, uns zu helfen, die Kontrolle darüber zu erlangen und da rauszukommen.

Danke, Matt

War es hilfreich?

Lösung

Sie benötigen eine Dienstregistrierung (UDDI??) ...Wenn Sie die Möglichkeit hätten, diese Dienste und ihre Verbraucher zu katalogisieren, würde dies die Aufgabe der Abhängigkeitserkennung erheblich erleichtern.Das ist allerdings keine einfache Lösung.Die Erstellung eines Katalogs erfordert Zeit und Dokumentation.

Ich denke, die schnellste Lösung wäre, Ihre IIS-Protokolle abzufragen und Quell-URLs zu finden, die von Ihren eigenen Servern stammen.Sie könnten zumindest nachverfolgen, von welchen Servern Ihre Kunden kommen.

Wenn Sie bereits über einen Authentifizierungsmechanismus verfügen, können Sie außerdem anhand der Anmeldung nachverfolgen, wer einen bestimmten Dienst nutzt.

Sie haben Recht mit AmberPoint.Es gibt andere Tools, die den Dienstverkehr katalogisieren und Berichte bereitstellen, die zeigen, was mit Ihren Diensten geschieht.Systinet, SOA Software und Actional haben ebenfalls ähnliche Produkte wie Amberpoint, aber Amberpoint hat meiner Meinung nach eine Freeware-Version.

Andere Tipps

Am einfachsten ist es, die Protokolle durchzusehen. Wenn diese jedoch den Referrer nicht enthalten, möchten Sie möglicherweise auch überwachen, was von Ihrem Web zum App-Server gesendet wird.Sie können Tools wie Wireshark oder Microsoft Network Monitor verwenden, um diesen Datenverkehr anzuzeigen.

Die andere „Lösung“, die ich locker verwende, besteht darin, einen bestimmten Webserver an den App-Server zu binden und dann ein Bundle zu durchlaufen und zu sehen, was es auf dem App-Server trifft.Sie könnten dies wahrscheinlich in einer Testumgebung tun, um die Auswirkungen auf die Benutzer der Website zu testen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top