2008-09-04 80 views
0

在我的日常工作中,我們負載均衡的Web服務器,通過Web服務(最近的WCF)與負載均衡的應用程序服務器交談。在任何特定時間,我們有4-6個不同的團隊可以添加新的網站或服務或使用現有服務。我們可能有大約20-30個不同的Web應用程序和相應的服務。識別ASP.NET Web服務引用

不幸的是,由於競爭優先級,組織結構,項目時間表,金融桶等原因,我們沒有對此進行集中控制,這是相當混亂的。我們有多種可重用的服務,但有一些特定於前端的服務。

理想情況下,我們可以更好地控制這種情況,並且我們試圖控制它,但這需要一段時間。我們想要做的一件事是更多地瞭解網站和應用程序服務器之間的所有相互關係。

我已經使用Reflector來查找程序集之間的依賴關係,但希望能夠查看服務之間的通信模式。

嘗試繪製Web服務關係的選項有哪些?大多數情況下,我們主要討論內部服務(網絡到應用程序,應用程序到應用程序,批次到應用程序等)。關於我的頭頂,我可以想到兩種方法來處理它:

  • 分析任何Web引用的程序集。這裏的缺點是,並非所有東西都是Web引用,我不確定WCF連接是如何列出的。但是,這至少是尋找80%連接的開始。有誰知道任何可以做分析的工具嗎?就像我說過的,我已經使用Reflector作爲程序集引用,但無法找到任何Web引用。
  • 可能進入IIS並被動監控進出的流量,並以某種方式找出正在調用的內容以及從哪裏來。我們正在研究那些可能有所幫助的企業工具,但在實施它們之前還需要一段時間(並且成本很高)。但是有什麼可以幫助快速而便宜的?特別是一種工具(AmberPoint)可以利用服務器上的IIS並監控入站和出站流量,添加一點特殊醬油並開始構建流量圖。非常好,但花費一大筆錢。

我知道,我知道,你到底是如何陷入混亂的呢?打敗我,試圖幫助我們控制它並擺脫它。

謝謝, 馬特

回答

0

您需要一個服務註冊表(UDDI ??)...如果您有一種方法來對這些服務及其使用者進行編目,那麼它將使依賴發現的這項工作變得更容易。但這不是一個簡單的解決方案。需要時間和文檔才能獲得目錄。

我認爲最快的解決方案是查詢您的IIS日誌並找到源自您自己的服務器的源URL。您至少能夠追蹤您的消費者來自哪些服務器。另外,如果你已經有了某種認證機制,你可以跟蹤誰正在使用基於登錄的特定服務。

你是對的AmberPoint。還有其他工具可以對服務流量進行分類並提供報告,顯示您的服務正在發生什麼。 Systinet,SOA Software和Actional也有類似於Amberpoint的產品,但我相信Amberpoint擁有免費軟件版本。

2

最簡單的方法就是通過日誌來看看,但如果不包括推薦人比你還可能要監視的是從你的網絡走出去應用服務器。您可以使用Wireshark或Microsoft Network Monitor等工具查看此流量。

另一個「解決方案」,我鬆散地使用它是將特定的Web服務器綁定到應用服務器,然後運行一個包並查看它在應用服務器上的內容。您可能可以在測試環境中執行此操作,以便對網站用戶產生影響。