多个tomcats如何在他们之间共享数据?

时间:2013-01-30 17:17:01

标签: tomcat

不知道我是否在问一个有效的问题!但突然有了这个疑问,所以试图清除我的怀疑。

考虑有2个tomcats正在运行,当客户端请求servlet时,此请求由tomcatA处理,同时如果另一个依赖于第一个请求的请求由tomcatB处理,我想知道如何tomcats在它们之间共享数据??第二个请求是否会暂停,直到第一个请求被完全处理?

提前致谢

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,你的问题是非常开放的,所以如果它被投票结果我不会感到惊讶。与此同时,我可以想到几种在Tomcat实例之间“共享”数据的方法:

  1. memcached
  2. JMX
  3. 古老的关系数据库
  4. 手动通知系统直接通过套接字等进行通信
  5. 至于有一个请求“等待”另一个请求完成,那就是事情开始变得危险:你可以轻松地设计死锁进入你的系统,这可以在每个请求等待另一个请求时锁定整个集群。

    我无法想象一个用例,其中多个客户端在工作完成之前等待彼此的工作完成,但客户端不能容忍缺少必备数据。