0

在我的日常工作中,我们有负载平衡的 Web 服务器,它们通过 Web 服务(以及最近的 WCF)与负载平衡的应用程序服务器通信。在任何给定时间,我们都有 4-6 个不同的团队能够添加新的网站或服务或使用现有服务。我们可能有大约 20-30 种不同的 Web 应用程序和相应的服务。

不幸的是,由于相互竞争的优先级、组织结构、项目时间表、财务状况等,我们无法对此进行集中控制,这真是一团糟。我们有各种可重用的服务,但有一堆是特定于前端的。

理想情况下,我们会更好地控制这种情况,我们正在努力控制它,但这需要一段时间。我们想做的一件事是更多地了解网站和应用服务器之间的所有相互关系。

我使用 Reflector 来查找程序集之间的依赖关系,但希望能够查看服务之间的流量模式。

尝试绘制 Web 服务关系的选项有哪些?在大多数情况下,我们主要讨论的是内部服务(Web 到应用程序、应用程序到应用程序、批处理到应用程序等)。在我的脑海中,我可以想到两种方法来解决它:

  • 分析任何 Web 引用的程序集。这里的缺点是并非所有内容都是 Web 参考,我不确定 WCF 连接是如何列出的。然而,这至少是寻找 80% 连接的开始。有谁知道可以进行这种分析的任何工具?就像我说的,我使用 Reflector 进行程序集引用,但找不到任何用于 Web 引用的内容。
  • 可能利用 IIS 并被动地监视进出的流量,并以某种方式找出被调用的内容和来自何处。我们正在寻找可以提供帮助的企业工具,但要实施它们还需要一段时间(并且成本很高)。但是有什么东西可以快速而廉价地提供帮助吗?特别是一个工具(AmberPoint)可以接入服务器上的 IIS 并监控入站和出站流量,添加一些特殊的调味料并开始构建流量图。非常好,但要花很多钱。

我知道,我知道,你到底是怎么搞到这个烂摊子的?打败我,只是想帮助我们控制它并摆脱它。

谢谢,马特

4

2 回答 2

2

最简单的方法是查看日志,但如果其中不包括引荐来源网址,那么您可能还需要监控从您的网络发送到应用服务器的内容。您可以使用 Wireshark 或 Microsoft Network Monitor 等工具查看此流量。

另一个“解决方案”,我松散地使用它是将特定的 Web 服务器绑定到应用程序服务器,然后通过一个捆绑包运行,看看它在应用程序服务器上遇到了什么。您可能可以在测试环境中执行此操作,以了解对站点用户的影响。

于 2008-09-04T20:05:46.107 回答
0

您需要一个服务注册中心(UDDI??)...如果您有办法对这些服务及其消费者进行编目,这将使依赖性发现工作变得容易得多。不过,这不是一个简单的解决方案。制作目录需要时间和文档。

我认为最快的解决方案是查询您的 IIS 日志并查找源自您自己的服务器的源 URL。您至少可以追踪您的消费者来自哪些服务器。

此外,如果您已经有某种身份验证机制,则可以根据登录来跟踪谁在使用特定服务。

您对 Am​​berPoint 的看法是正确的。还有其他工具可以对服务流量进行分类,并提供显示服务正在发生的情况的报告。Systinet、SOA Software 和 Actional 也有类似 Amberpoint 的产品,但我相信 Amberpoint 有一个免费版本。

于 2008-09-05T20:59:34.720 回答