我现在有个这样的问题:集群之后有几个tomcat节点,当我输入网址随机跳转到一个tomcat节点,在这个节点的页面我点击一个按钮,执行一个a方法, 执行完这个方法之后我想另外几个tomcat节点也执行这个a方法, 我应该怎么通知另外的tomcat节点执行呢 ? 如果可以的话我还想在当前节点执行完这个a方法之后, 我传参给另外的tomcat节点a方法并执行。
如果数据比较多,且变动比较多
你这种模式本身就不可取了
建议你所有tomcat统一用一个mc,付出每个tomcat内存与同步的代价,肯定超过你访问远程mc的开销了.
假如这部分数据很小,而且不常修改,类似配置数据,
要求不高的话,自己记录一下所有tomcat的IP,执行操作后,给所有其他tomcat发一个请求.
要求高一致性的话,就要考虑用zookeeper这类了
通过不同ip端口再去调用其它 tomcat 的 方法。
估计实现比较麻烦哪。
我说下我的场景
首先 我有一个memached用来做缓存
每个tomcat节点都调用memached的缓存
但是不是直接调用memached的缓存数据,而是在tomcat初始化的时候把memached缓存放到tomcat的本地缓存里面 例如本地HashMap
当我调用a方法的时候 是更新memached缓存 我去数据库里面把最新的数据放到memached里面 也放到当前tomcat的本地缓存里
然后通知其它tomcat执行a方法的时候 我把最新数据的key当做参数传过去 其它tomcat的本地缓存直接通过key去memached里面拿
没搞过集群的tomcat,过来学习