请教一下,关于tomcat集群情况下,文件同步的问题

问题描述

如下的情况:   用户上传文件的请求被APACHE分配到TOMCAT-1,并且文件被上传到TOMCAT-1所在的机器。     紧接着,     用户对文件进行编辑的请求被APACHE分配到TOMCAT-2,   此时文件并不在TOMCAT-2所在的机器上。         所以存在多TOMCAT之间对文件读写同步的问题。希望各位能明白我的意思。         各位有遇到过这种情况吗?是有什么好的解决方法?问题补充好的,谢谢,我用的就您所说的mod_jk,而且也实现了负载均衡,如果我没有F5硬件的话,那是否还有其他方式通过软件层解决上述问题尼问题补充哦...晓得咧..嘿嘿,不好意思尼..没看清,但你前面所说的,好像只是session的复制,但我所说的并不是session的同步问题,而是服务器中文件同步问题,不知是否说的对不对,请指教一二问题补充:谢谢诸位的回答,看了之后,tomcat本身是不提供这种功能的了,需要其他第三方软件才能实现这样的功能,是吗?问题补充:sticky_session=true一个客户的请求持续的往第一次为他服务过的TOMCAT送,但问题,如果该用户到了另外一台机器上访问,还能让该客户去访问第一次为他服务过的TOMCAT吗?sticky_session=true只是指同一个session,但如果换了机器,那session应该就不一样了,自然也不一定会访问他第一次为他服务器的TOMCAT了问题补充:对不起咧,我提出的问题误导了各位,正如sdh5724所说,我也打算专门有一台服务器当作文件服务器,由webserver去从文件服务器中获取文件,这样的话,对目前的需求来说没有问题的,我担心的是以后的需求可能会让文件服务器变成不止一台,而是多台,所以我考虑的找一个或自己写一个文件维护程序,用以文件的同步,最后,感谢各位的耐心帮助

解决方案

天阿。。。。。。。。。。。。。。你居然是这样的问题, 我受不了了。你应该问的是, 怎么作NFS你的问题是存储问题。 其实, 你是要多台机器共同用一个存储。 最简单的办法是, 你有一个存储, 可以mount到你的每个WEB SERVER机器上。 我不知道你的项目投资如何, 一般来说, webserver是比较忌讳放置用户数据的。 你WEBSERVER的操作系统是什么? 如果是WINDOWS我不知道, 如果是linux可以使用NFS。我建议你用一个独立的机器作存储。这样安全多了。现确定的问题吧。 你可以加我的MSN SDH5724@163。COM 我可以详细问下。
解决方案二:
sticky_session=true 会把一个客户的请求持续的往第一次为他服务过的TOMCAT送。 我觉得你应该多读读文档。
解决方案三:
听说过一个叫做NFS的东西没有?
解决方案四:
http://blog.daviesliu.net/2008/04/24/sync/
解决方案五:
你也真是的, 看清楚啊, 我给了你2种答案, F5只是一个手段之一。你只需要在你的MOD-JK负载均衡配置的地方写配置: sticky_session=truehttp://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html 说的很清楚, 你应该怎么写配置。别的方法还是有很多的, 比如, 用软件的方法实现, 也有用OS内核NET FILTER实现的。 这些太复杂了。 我们未必用的上。
解决方案六:
这个简单, 你用的是什么连接器? 你的系统有F5么?这2个问题都能为你解决问题, 这个过程叫做 Session Stick, MOD-JK是有配置选项的, 这个我猜测是用cookie是实现的。另外, F5上就更简单了, 他一定是cookie来实现的。 《不知道F5是什么, 就别追求了。 这是一种负载均衡的一个硬件》MOD-JK的设置是, sticky_session=true帮助:http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html

时间: 2024-09-14 15:08:14

请教一下,关于tomcat集群情况下,文件同步的问题的相关文章

tomcat-Tomcat在哪些情况下可以同步后台数据?

问题描述 Tomcat在哪些情况下可以同步后台数据? Tomcat在哪些情况下可以同步后台数据? Tomcat在哪些情况下可以同步后台数据? 解决方案 百度 热同步~ 虽然我还没有测试 解决方案二: lz提问采纳的有点不及时. tomcat只是一个应用服务器,它可以执行任意的代码,你的代码可以做任何的事情. 用jsp php等编写程序同步后台数据,用tomcat承载运行就可以了. 解决方案三: 这个是做不到的,因为服务器启动的时候就进行了类加载,后面改是不会起作用的 你说的有时候同步了,事实 上

Linux下搭建tomcat集群全记录(转)

本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:apache: 安装路径:/usr/local/apache2端口:90tomcat1:安装路径:/usr/local/apache-tomcat-6.0.33-1端口:6080tomcat2:安装路径:/usr/local/apache-tomcat-6.0.33-2端口:7080 2.所需要软件列表

请求-apache+tomcat集群问题,请教高手!!!

问题描述 apache+tomcat集群问题,请教高手!!! 环境 apache 版本:2.4.12-x64 tomcat : 6.0.44-x64 mod_jk:1.2.40-2.4.x配置 httpd.conf workers.properties mod_jk.conf tomcat1,tomcat2配置 tomcat1 tomcat2 tomcat启动 项目与请求 我的项目在webapps/p1/text.jsp,当我浏览器请求localhost/p1/text.jsp的时候就出现: 它

tomcat集群后,我的分页点下一页没有显示下页数据

问题描述 说明:我用了tomcat集群后,我的分页数据是放在session中的,但是集群后我点击下一页没有反应,我在本地测试用一个tomcat的情况下,点击下一页是会读取出来下一页的数据的,但是服务器集群后点击下一页没有反应,求大哥们帮忙说说这个问题,求解决方案 解决方案 你打下日志,看问题出再哪啊!(分页数据还放session 个人感觉有问题哈!集群可以用使用公用缓存,分布式缓存之类的解决)解决方案二:sesstion没同步吧?解决方案三:session是缓存起来的,你集群是不是没有缓存同步

nginx反向代理-nginx+tomcat集群下的压力测试

问题描述 nginx+tomcat集群下的压力测试 我现在在单机下尝试模拟nginx+tomcat集群的配置,开了3台虚拟机,1台作nginx服务器另外两台作tomcat服务器. tomcat下的也设置了maxThreads和timeOut的值. nginx配的是将所有请求全部转发给后端的两台tomcat. 最后再装了nginx的虚拟机上用ab进行压力测试,在 -n 10000 -c 1500的时候 去测试192.168.171.134:18082没有问题,而测用127.0.0.1测nginx的

linux-Linux下apache+tomcat集群失败

问题描述 Linux下apache+tomcat集群失败 我的系统版本是Centos5.4,分别根据如下两篇文章进行配置调试: 1. http://blog.csdn.net/bluishglc/article/details/6867358 2. http://wapwenku.baidu.com/view/8cfa95b265ce05087632138d?pn=4&vw=all&ssid=&from=&bd_page_type=1&uid=814367CBCBC

在linux下,怎么创建多个tomcat,也就是说创建一个tomcat集群,分散一个tomcat的压力

问题描述 要求就是题目说的,不知道我说明白了没,就是建立一个tomcat集群,分散一个tomcat压力.请高手指点一下!! 解决方案 解决方案二:使用apache,用google搜索一下apahcetomcat群集,很多帖子说明怎么做的.解决方案三:具体忘了,大概就是server.xml中修改配置,windows和linux没有多大的不同

关于 tomcat 集群中 session 共享的三种方法

前两种均需要使用 memcached 或 redis 存储 session ,最后一种使用 terracotta 服务器共享.  建议使用 redis ,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,  不只是缓存 session ,还可以做其他用途,一举几得啊.  1.使用 filter 方法存储  这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于 tomcat ,而且实现的原理比较简单容易控制.  可以使用 memcached-session-f

Tomcat集群Cluster实现原理剖析

在上一篇文章中简要介绍了如何通过简单的配置来实现tomcat集群,本文意在介绍对tomcat集群进行更深入详细的配置以满足特定需求.        对于WEB应用集群的技术实现而言,最大的难点就是如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块.     要实现这一点,大体上有两种方式,           一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据: