1

我有一个 Web 服务,它接受输入的 xml 消息,对其进行转换,然后将其转发到另一个 Web 服务。

出于性能和弹性原因,应用程序部署到两个 Web 逻辑应用服务器。

我想要一个允许两件事的网站监控页面

  • 停止/开始转发消息的能力

  • 能够监控过去一小时内消息数量的吞吐量等。进入 Web 服务的不同发件人的数量等。

我想知道实现这一点的最佳方法是什么。

我目前的想法是有一个内存数据库(例如 Debry 或 HSQL)复制数据,以便在我的应用程序的两个(或多个)实例之间共享信息,这些实例在应用服务器的不同实例中运行。我想我必须设置某种主/从配置。

我想要一个讨论如何解决这个问题的文章的链接。

(注意,这是一个使用spring MVC的简单spring应用)

谢谢,

大卫。

4

3 回答 3

5

这听起来很适合Java 管理扩展 (JMX)

  • JMX 允许您公开某些操作(例如:开始/停止转发消息)
  • JMX 允许您监控某些性能指标(例如:处理的消息的移动平均值)

Spring 很好地支持将 bean 公开为 JMX MBean。请参阅此处了解更多信息。

然后您可以使用基于 Web 的开源 JMX 控制台,例如jManage

希望这可以帮助。

于 2008-10-06T12:15:01.463 回答
0

听起来您正在寻找消息队列、一些 MDB 和可配置的设计可以让您完成所有这些工作。如果我没记错的话,Spring 支持 JMS 队列

于 2008-10-06T11:54:27.103 回答
0

我认为您正在寻找消息队列。如果您需要额外的监控,使用 Web 服务作为端点可能是不够的 - 关于停止/启动或转发消息;监视对 Web 服务的 http 请求比跟踪消息到队列更麻烦(即使您可以做到)。

如果您将此服务公开给第三方,那么 Web 服务将位于消息队列的顶部并委托给它。

以我的经验,RabbitMQ 是一个很好的消息队列服务,学习曲线相对简单。

于 2014-05-13T18:16:39.870 回答