在tomcat实例之间进行通信(分布式体系结构)

时间:2012-07-01 07:48:55

标签: java tomcat distributed

我们有一个分布式架构,我们的应用程序在四个Tomcat实例上运行。我想知道可用于在这些Tomcat实例之间进行通信的各种选项。

详细信息:假设用户发送停止侦听传入队列的请求,这需要与其他Tomcat实例通信,以便他们也停止监听。如何在Tomcats之间进行这种沟通?

谢谢, Midhun

3 个答案:

答案 0 :(得分:1)

看起来你正面临协调问题。

我建议你使用Apache ZooKeeper来解决这类问题。 考虑将您的配置放入ZooKeeper。 ZooKeeper允许您观察以进行更改,如果在ZooKeeper中更改了配置,则会通知tomcat实例,您可以调整应用程序在每个节点上的行为。

但是,您可以使用任何类型的外部持久存储来解决此问题。

其他可能的方法是自己实现tomcat节点之间的通信,但在这种情况下,您将遇到管理部署拓扑的问题:每个tomcat节点都应该知道集群中的其他节点。

答案 1 :(得分:0)

表面上的是RMI,HTTP请求。同样,恕我直言,你可以尝试使用MBeans。还有一件事,你可以使用一些非java相关的东西,比如DBus或者其他东西,甚至是平面文件......如果所有的tomcats都运行在同一台机器上。很多选择...

答案 2 :(得分:0)

我们在这种情况下使用Hazelcast。他们有一个方便的Http Session Clustering