2 isresultxal IsResultXaL 于 2016.03.04 10:39 提问

多个tomcat节点之间的问题

我现在有个这样的问题:集群之后有几个tomcat节点,当我输入网址随机跳转到一个tomcat节点,在这个节点的页面我点击一个按钮,执行一个a方法, 执行完这个方法之后我想另外几个tomcat节点也执行这个a方法, 我应该怎么通知另外的tomcat节点执行呢 ? 如果可以的话我还想在当前节点执行完这个a方法之后, 我传参给另外的tomcat节点a方法并执行。

4个回答

qq_16414307
qq_16414307   2016.03.04 15:00
已采纳

如果数据比较多,且变动比较多
你这种模式本身就不可取了
建议你所有tomcat统一用一个mc,付出每个tomcat内存与同步的代价,肯定超过你访问远程mc的开销了.

假如这部分数据很小,而且不常修改,类似配置数据,
要求不高的话,自己记录一下所有tomcat的IP,执行操作后,给所有其他tomcat发一个请求.
要求高一致性的话,就要考虑用zookeeper这类了

IsResultXaL
IsResultXaL 回复sliang733: 我用httpclient暴力实现了
接近 2 年之前 回复
IsResultXaL
IsResultXaL 回复sliang733: 昨天我就用httpclient暴力实现了,谢了
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.04 10:51

通过不同ip端口再去调用其它 tomcat 的 方法。

估计实现比较麻烦哪。

IsResultXaL
IsResultXaL   2016.03.04 10:54

我说下我的场景
首先 我有一个memached用来做缓存

每个tomcat节点都调用memached的缓存

但是不是直接调用memached的缓存数据,而是在tomcat初始化的时候把memached缓存放到tomcat的本地缓存里面 例如本地HashMap
当我调用a方法的时候 是更新memached缓存 我去数据库里面把最新的数据放到memached里面 也放到当前tomcat的本地缓存里
然后通知其它tomcat执行a方法的时候 我把最新数据的key当做参数传过去 其它tomcat的本地缓存直接通过key去memached里面拿

WinsenJiansbomber
WinsenJiansbomber   2016.03.05 15:31

没搞过集群的tomcat,过来学习

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!