- 浏览: 580852 次
- 性别:
文章分类
- 全部博客 (141)
- java (33)
- spring (6)
- struts2 (4)
- log4j (1)
- sql (8)
- oracle (11)
- 设计模式 (2)
- jsp (2)
- 谈学习 (5)
- gson (3)
- svn (1)
- lucene (1)
- 杂谈 (7)
- hibernate (5)
- play framework (4)
- 页面前端 (16)
- linux (9)
- tomcat (2)
- php (2)
- maven实战 (4)
- HornetQ (1)
- SAE (1)
- Hessian (2)
- 应用 (11)
- 在北京生活感悟 (2)
- apache (1)
- BI (1)
- hadoop系列 (1)
- mongodb (1)
- cache (1)
- 数据结构 (1)
- hive (1)
最新评论
-
AK472AK47:
...
gson java对象与json转换(实例代码说明及教程) -
TryRelax:
update t_h5activity_pagedata ...
mysql update更新带子查询的实现方式 -
CurryKobe:
js中的三大特性:继承、封装、多态 -
bruce.yuan:
一看 tps为168k次/秒 ,我就觉得不专业了 。请把完整的 ...
rpc介绍 -
一抹暗香:
牛逼!
去掉IE浏览器滚动条最简单的方法
说明
所有的配置以及软件都是在windows环境下进行的,都是用自己的电脑做服务器。
要解决的问题
在tomcat集群环境下的session共享 、缓存共享、 负载均衡。
解决方案的选择
多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:
1. 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。
2. 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但是我们的应用很可能是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。
3. 利用memcached把多个tomcat的session集中管理,这是最直接的解决方案,但是操作起来也最为复杂。
我们的系统既要求性能,又要比较好的利用上负载均衡,所以第3个方案是首选(我采取的第三种方案)。接下来就是安装搭建之路了。
参考资料:http://hi.baidu.com/dqgdeng/blog/item/32e3d53af100eae9b311c745.html
采取的方案
解决缓存共享:
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。可以使用Memcached。
解决Session共享:
主要是利用memcached-session-manager(http://code.google.com/p/memcached-session-manager/ 下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享。
解决负载均衡:
利用nginx+tomcat+memcached组建web服务器负载均衡。
实现的整体步骤
一:安装memcached,测试其是否好用。
二:安装两个tomcat
三:配置msm。
四:安装nginx,实现负载均衡。
一下是我走的弯路:希望大家不要和我走一样的路
我开始弄这个的时候,思路是下面这样的:
一:安装memcached,测试其是否好用。
二:两个tomcat集群。(配置tomcat集群,找了一些资料)
三:配置msm。
四:安装nginx,实现负载均衡。
按照这个思路配置完成后,发现session、缓存都共享了,也实现了负载均衡,以为问题解决了。我写了配置过程的一个文档。
之后一位架构师看了我写的文档,发现有问题,这我才知道我之前的思路有点问题。因为我既使用了tomcat集群实时的复制session,又使用了msm来存储session。我之前之所以能session共享,是因为我配置的tomcat集群起得作用,而我配置的msm有问题,但我没发现。
弄清楚这点就可以:使用tomcat集群实现session共享和使用msm将session存储放到分布式缓存memcache中实现session 是两种不同的解决方案。后者更有优势。
第一步:安装memcached
1. 下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:http://code.jellycan.com/memcached/
2. 下载java版客户端 java_memcached-release_2.6.1.zip
3. 解压缩memcached-1.2.6-win32-bin.zip到指定目录,例如:D:\memcached-1.2.6-win32 ,
在终端(即cmd命令行界面),执行'D:\memcached-1.2.6-win32\memcached.exe -d install'
安装,再执行:'D:\memcached\memcached.exe -d start'启劢,这样memcache就会作为windows系统服务在每 次开机时启劢memcache服务。
4. 将客户端jar包放到web的lib下面,测试其是否好用。
5. 测试类如下:
public class TestMemCached {
protected static MemCachedClient mcc = new MemCachedClient();
static {
String[] servers = { "localhost:11211" };
Integer[] weights = { 3 };
// 创建一个实例对象SockIOPool
SockIOPool pool = SockIOPool.getInstance();
// set the servers and the weights
// 设置Memcached Server
pool.setServers(servers);
pool.setWeights(weights);
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep(30);
// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
// 以至这个包准备好了就发;
pool.setNagle(false);
// 连接建立后对超时的控制
pool.setSocketTO(3000);
// 连接建立时对超时的控制
pool.setSocketConnectTO(0);
// initialize the connection pool
// 初始化一些值并与MemcachedServer段建立连接
pool.initialize();
// lets set some compression on for the client
// compress anything larger than 64k
// mcc.setCompressEnable(true);
// mcc.setCompressThreshold(64 * 1024);
}
public static void bulidCache() {
// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long
// date) 中参数date,需要是个大于或等于1000的值。
// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果
// 小于1000的值,除以1000以后都是0,即永不过期
TMember t = new TMember();
t.setId("123456789");
t.setName("yangliang");
mcc.set("test", t, new Date(100000)); // 十秒后过期
}
public static void output() {
// 从cache里取值
TMember value = (TMember) mcc.get("test");
System.out.println(value.getId());
System.out.println(value.getName());
// String value = (String) mcc.get("test");
// System.out.println(value);
}
public static void main(String[] args) {
bulidCache();
output();
}
}
输出结果为:123456789
yangliang
第二步:安装tomcat
1. 安装两个tomcat6,如果不在myEclipse等集成环境下,需要先安装JDK.注意修改两个tomcat的端口号(server.xml中要修改三个端口:8005,8080,8009,把这三个改成没有在用的端口就可以了)。
2. 启动两个tomcat看是否能成功启动。如果不能同时启动,很可能就是端口冲突。
第三步:配置msm
1. 准备jar包
msm要用的包有:
javolution-5.4.3.1.jar
memcached-2.5.jar
memcached-session-manager-1.3.0.jar
msm-javolution-serializer-1.3.0.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
将这些包考到tomcat的lib下即可
• javolution-5.4.3.1.jar (442.1 KB)
• memcached-2.5.jar (260.9 KB)
• memcached-session-manager-1.3.0.jar (79.1 KB)
• msm-javolution-serializer-1.3.0.jar (61 KB)
• msm-javolution-serializer-cglib-1.3.0.jar (3.7 KB)
• msm-javolution-serializer-jodatime-1.3.0.jar (5 KB)
参考资料:http://cprime.iteye.com/blog/729544
官方下载:http://code.google.com/p/memcached-session-manager/downloads/list
2. 修改配置文件context.xml
Xml代码
加入
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:
n1:localhost:11211 n2:localhost:11212
sessionBackupTimeout的单位为分钟
参考资料:http://blog.csdn.net/small_love/article/details/6662686
Ok! 修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.
3. 可以测试一下session是否共享了,测试缓存是否可以共享了。
我的思路是这样的:登录后将sessionId作为key,value就是要保存的值,存放到session中,做一个过滤器,只要登录了就可以通过当前session的id获得到保存的值。
关于缓存的测试可以这样:修改部署在两个tomcat的web工程中缓存相关的信息,在一个工程中往memcached服务器中保存信息,在另外一个工程中看能否取到。
第四步:安装nginx,实现负载均衡
1 下载nginx的jar包。地址:http://nginx.org/en/download.html
2 解压 nginx-1.0.6.zip 包到你喜欢的根目录,并将目录名改为nginx。
然后,执行下列操作:
cd nginx
start nginx
这样,nginx 服务就启动了(也可以直接双击打开)。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入 http://127.0.0.1/ 就可以看到nginx的欢迎页面了,非常友好
nginx -s stop // 停止nginx
nginx -s reload // 重新加载配置文件
nginx -s quit // 退出nginx
3 修改配置文件nginx\conf\nginx.conf
1)、找到内容server {
在它的上面加入如下内容:
upstream 192.168.2.182 {
ip_hash; ----#ip_hash策略将同一IP的所有请求都转发到同一应用服务器
server 192.168.2.182:8087;---------我的tomcat端口号
server 192.168.2.182:8012;
}
(这是负载切换使用的服务器网站IP)
2)、找到location / {
root html;
index index.html index.htm;
}
把内容更改如下:
location / {
proxy_pass http://192.168.2.182;
proxy_redirect default;
proxy_connect_timeout 10; added by me(跟代理服务器连接的超时时间,必须留意这个time out时间不能超过75秒.当一台服务器当掉时,过10秒转发到另外一台服务器)
}
3)、找到server {
listen 80;
server_name localhost;
把内容改成如下:
server {
listen 80;
server_name 192.168.2.182;
(这是监听访问域名绑定那台服务器80端口的请求)
好,在这里就这么简单配置好了,下面看下以上3步配置的图:
4 参考资料:http://wenku.baidu.com/view/53b4640003d8ce2f0066233a.html
关于nginx的配置说明参考资料:http://wiki.nginx.org/NginxChs
5 测试负载均衡是否好用。启动两个tomcat,之后断掉一个tomcat,看能否成功访问。
参考资料:http://www.iteye.com/topic/676347 访问量很高
------------------------以上是我的配置过程,希望大家多提提宝贵意见,一起进步,谢谢。
所有的配置以及软件都是在windows环境下进行的,都是用自己的电脑做服务器。
要解决的问题
在tomcat集群环境下的session共享 、缓存共享、 负载均衡。
解决方案的选择
多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:
1. 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。
2. 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但是我们的应用很可能是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。
3. 利用memcached把多个tomcat的session集中管理,这是最直接的解决方案,但是操作起来也最为复杂。
我们的系统既要求性能,又要比较好的利用上负载均衡,所以第3个方案是首选(我采取的第三种方案)。接下来就是安装搭建之路了。
参考资料:http://hi.baidu.com/dqgdeng/blog/item/32e3d53af100eae9b311c745.html
采取的方案
解决缓存共享:
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。可以使用Memcached。
解决Session共享:
主要是利用memcached-session-manager(http://code.google.com/p/memcached-session-manager/ 下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享。
解决负载均衡:
利用nginx+tomcat+memcached组建web服务器负载均衡。
实现的整体步骤
一:安装memcached,测试其是否好用。
二:安装两个tomcat
三:配置msm。
四:安装nginx,实现负载均衡。
一下是我走的弯路:希望大家不要和我走一样的路
我开始弄这个的时候,思路是下面这样的:
一:安装memcached,测试其是否好用。
二:两个tomcat集群。(配置tomcat集群,找了一些资料)
三:配置msm。
四:安装nginx,实现负载均衡。
按照这个思路配置完成后,发现session、缓存都共享了,也实现了负载均衡,以为问题解决了。我写了配置过程的一个文档。
之后一位架构师看了我写的文档,发现有问题,这我才知道我之前的思路有点问题。因为我既使用了tomcat集群实时的复制session,又使用了msm来存储session。我之前之所以能session共享,是因为我配置的tomcat集群起得作用,而我配置的msm有问题,但我没发现。
弄清楚这点就可以:使用tomcat集群实现session共享和使用msm将session存储放到分布式缓存memcache中实现session 是两种不同的解决方案。后者更有优势。
第一步:安装memcached
1. 下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:http://code.jellycan.com/memcached/
2. 下载java版客户端 java_memcached-release_2.6.1.zip
3. 解压缩memcached-1.2.6-win32-bin.zip到指定目录,例如:D:\memcached-1.2.6-win32 ,
在终端(即cmd命令行界面),执行'D:\memcached-1.2.6-win32\memcached.exe -d install'
安装,再执行:'D:\memcached\memcached.exe -d start'启劢,这样memcache就会作为windows系统服务在每 次开机时启劢memcache服务。
4. 将客户端jar包放到web的lib下面,测试其是否好用。
5. 测试类如下:
public class TestMemCached {
protected static MemCachedClient mcc = new MemCachedClient();
static {
String[] servers = { "localhost:11211" };
Integer[] weights = { 3 };
// 创建一个实例对象SockIOPool
SockIOPool pool = SockIOPool.getInstance();
// set the servers and the weights
// 设置Memcached Server
pool.setServers(servers);
pool.setWeights(weights);
// set some basic pool settings
// 5 initial, 5 min, and 250 max conns
// and set the max idle time for a conn
// to 6 hours
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);
// set the sleep for the maint thread
// it will wake up every x seconds and
// maintain the pool size
pool.setMaintSleep(30);
// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
// 以至这个包准备好了就发;
pool.setNagle(false);
// 连接建立后对超时的控制
pool.setSocketTO(3000);
// 连接建立时对超时的控制
pool.setSocketConnectTO(0);
// initialize the connection pool
// 初始化一些值并与MemcachedServer段建立连接
pool.initialize();
// lets set some compression on for the client
// compress anything larger than 64k
// mcc.setCompressEnable(true);
// mcc.setCompressThreshold(64 * 1024);
}
public static void bulidCache() {
// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long
// date) 中参数date,需要是个大于或等于1000的值。
// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果
// 小于1000的值,除以1000以后都是0,即永不过期
TMember t = new TMember();
t.setId("123456789");
t.setName("yangliang");
mcc.set("test", t, new Date(100000)); // 十秒后过期
}
public static void output() {
// 从cache里取值
TMember value = (TMember) mcc.get("test");
System.out.println(value.getId());
System.out.println(value.getName());
// String value = (String) mcc.get("test");
// System.out.println(value);
}
public static void main(String[] args) {
bulidCache();
output();
}
}
输出结果为:123456789
yangliang
第二步:安装tomcat
1. 安装两个tomcat6,如果不在myEclipse等集成环境下,需要先安装JDK.注意修改两个tomcat的端口号(server.xml中要修改三个端口:8005,8080,8009,把这三个改成没有在用的端口就可以了)。
2. 启动两个tomcat看是否能成功启动。如果不能同时启动,很可能就是端口冲突。
第三步:配置msm
1. 准备jar包
msm要用的包有:
javolution-5.4.3.1.jar
memcached-2.5.jar
memcached-session-manager-1.3.0.jar
msm-javolution-serializer-1.3.0.jar
msm-javolution-serializer-cglib-1.3.0.jar
msm-javolution-serializer-jodatime-1.3.0.jar
将这些包考到tomcat的lib下即可
• javolution-5.4.3.1.jar (442.1 KB)
• memcached-2.5.jar (260.9 KB)
• memcached-session-manager-1.3.0.jar (79.1 KB)
• msm-javolution-serializer-1.3.0.jar (61 KB)
• msm-javolution-serializer-cglib-1.3.0.jar (3.7 KB)
• msm-javolution-serializer-jodatime-1.3.0.jar (5 KB)
参考资料:http://cprime.iteye.com/blog/729544
官方下载:http://code.google.com/p/memcached-session-manager/downloads/list
2. 修改配置文件context.xml
Xml代码
加入
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:
n1:localhost:11211 n2:localhost:11212
sessionBackupTimeout的单位为分钟
参考资料:http://blog.csdn.net/small_love/article/details/6662686
Ok! 修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.
3. 可以测试一下session是否共享了,测试缓存是否可以共享了。
我的思路是这样的:登录后将sessionId作为key,value就是要保存的值,存放到session中,做一个过滤器,只要登录了就可以通过当前session的id获得到保存的值。
关于缓存的测试可以这样:修改部署在两个tomcat的web工程中缓存相关的信息,在一个工程中往memcached服务器中保存信息,在另外一个工程中看能否取到。
第四步:安装nginx,实现负载均衡
1 下载nginx的jar包。地址:http://nginx.org/en/download.html
2 解压 nginx-1.0.6.zip 包到你喜欢的根目录,并将目录名改为nginx。
然后,执行下列操作:
cd nginx
start nginx
这样,nginx 服务就启动了(也可以直接双击打开)。打开任务管理器,查看 nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入 http://127.0.0.1/ 就可以看到nginx的欢迎页面了,非常友好
nginx -s stop // 停止nginx
nginx -s reload // 重新加载配置文件
nginx -s quit // 退出nginx
3 修改配置文件nginx\conf\nginx.conf
1)、找到内容server {
在它的上面加入如下内容:
upstream 192.168.2.182 {
ip_hash; ----#ip_hash策略将同一IP的所有请求都转发到同一应用服务器
server 192.168.2.182:8087;---------我的tomcat端口号
server 192.168.2.182:8012;
}
(这是负载切换使用的服务器网站IP)
2)、找到location / {
root html;
index index.html index.htm;
}
把内容更改如下:
location / {
proxy_pass http://192.168.2.182;
proxy_redirect default;
proxy_connect_timeout 10; added by me(跟代理服务器连接的超时时间,必须留意这个time out时间不能超过75秒.当一台服务器当掉时,过10秒转发到另外一台服务器)
}
3)、找到server {
listen 80;
server_name localhost;
把内容改成如下:
server {
listen 80;
server_name 192.168.2.182;
(这是监听访问域名绑定那台服务器80端口的请求)
好,在这里就这么简单配置好了,下面看下以上3步配置的图:
4 参考资料:http://wenku.baidu.com/view/53b4640003d8ce2f0066233a.html
关于nginx的配置说明参考资料:http://wiki.nginx.org/NginxChs
5 测试负载均衡是否好用。启动两个tomcat,之后断掉一个tomcat,看能否成功访问。
参考资料:http://www.iteye.com/topic/676347 访问量很高
------------------------以上是我的配置过程,希望大家多提提宝贵意见,一起进步,谢谢。
评论
2 楼
576017120
2013-04-03
昨天我又按照这个步骤走了一遍遇到了问题,后来换成最新的jar包。
memcached-session-manager-1.6.3.jar
memcached-session-manager-tc7-1.6.3.jar
spymemcached-2.8.0.jar
将这三个jar包如tomcat lib目录下。
参照官网将配置写成下面的:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:127.0.0.1:11211,n2:192.168.100.111:11211"
sticky="false"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
lockingMode="uriPattern:/path1|/path2"
sessionBackupAsync="false"
transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"
copyCollectionsForSerialization="false"
/>
但最终测试session共享一直不成功,我还没找到问题,哪位遇到类似的问题了?
memcached-session-manager-1.6.3.jar
memcached-session-manager-tc7-1.6.3.jar
spymemcached-2.8.0.jar
将这三个jar包如tomcat lib目录下。
参照官网将配置写成下面的:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:127.0.0.1:11211,n2:192.168.100.111:11211"
sticky="false"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
lockingMode="uriPattern:/path1|/path2"
sessionBackupAsync="false"
transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"
copyCollectionsForSerialization="false"
/>
但最终测试session共享一直不成功,我还没找到问题,哪位遇到类似的问题了?
1 楼
dogharry8
2013-03-05
顶,谢谢!!!
发表评论
-
linux安装jdk1.7.0_67
2014-08-09 15:21 3005JDK安装配置 1、 下载jdk,本例使用jdk-7u67 ... -
JAVA正则表达式匹配,替换,查找,切割
2014-06-20 17:46 1566import java.util.ArrayList; i ... -
ip正则验证
2014-05-15 19:06 591/** * 正则判断ip是否合法 ... -
快速排序及java实现
2014-05-12 11:38 8781)基本思想:选择一个基准元素,通常选择第一个元素或者最后一 ... -
java 冒泡排序例子
2014-02-18 09:25 1093按照由大到下的顺序排列。 public class Bub ... -
推荐使用枚举定义常量
2014-01-24 14:48 3864枚举是在Java1.5版本后出现的,它与类常量和静态常量相 ... -
java 优先选择基本类型
2014-01-23 17:02 1065建议29: 优先选择基本类型 包装类型是一个类,它提供了 ... -
java去除字符串中的空格、回车、换行符、制表符
2013-11-04 10:30 1627java去除字符串中的空 ... -
jdk环境变量配置 windows
2013-08-21 09:13 1013每次换电脑的时候都查一下,还是记录一下啦 1、下载jdk( ... -
用HttpClient模拟HTTP的GET和POST请求
2013-08-08 11:37 2708一、HttpClient介绍 HttpClient是 ... -
array set相互转换
2013-08-08 10:52 1210//array -->set --->array ... -
java 交换两个变量的值
2013-06-13 09:47 1574前段时间被问到这个问题,我还没太注意,在这里记录一下。 ... -
java 正则表达式
2013-06-11 15:22 1043用到正则时,可以来参考一下,看api最好了,里面都有 pu ... -
java性能监控与分析
2013-02-28 17:06 885一:关于虚拟机的性能监控与工具介绍,我觉得这篇文章介绍的挺好 ... -
由内存溢出引起的深入java之旅
2013-02-26 14:51 944背景:前段时间遇到内存溢出这个问题,就想好好的分析一下原因 ... -
java内存溢出(分析原因)
2013-01-22 10:21 1465最近遇到了这个问题:java.lang.OutOfMemor ... -
memcached for windows32
2012-08-07 16:24 1152Windows下的Memcache安装 : 1. 下载 ... -
ThinkPHP VS Play Framework
2012-04-17 21:04 1319最近看ThinkPHP,确实做的很好,php非常流行。 ... -
java 对象属性和数据库字段之间的转换
2012-03-24 10:10 3372public class FieldPropertyConve ... -
Toggle Mark Occurrenses(alt+shift+o)
2012-03-14 15:17 3888这段时间在eclipse中,选中一个字段或者一个方法,那么在 ...
相关推荐
1,在tomcat中找到文件apache-tomcat-6.0.37\conf\context.xml 加入内部 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:192.168.1.65:11211" ...
已结整合好的apache-tomcat-7.0.70 + memcached-session-manager 1.93 ,自己装个memcached 就可以了,修改配置conf/context.xml文件,中的memcached 地址即可。 网上下的很多下的都不能用,这个是按官网文档整合的...
标题中的“tomcat8+memcached session共享”指的是在Tomcat 8服务器中利用Memcached进行session共享的技术实践。在分布式系统中,session共享是一个重要的问题,因为用户在访问不同的服务器节点时,需要保持登录状态...
通过在所有Tomcat服务器上安装memcached客户端库,并配置相应的Java代码,可以将每个服务器上的Session保存到memcached中。当用户请求到达时,Nginx会将请求转发到相应的Tomcat实例,该实例会从memcached中读取或...
标题中的“tomcat7+整合memcached jar包集合”指的是在Tomcat 7这个流行的Java应用服务器上集成Memcached缓存系统的过程。Memcached是一种分布式内存对象缓存系统,广泛用于减轻数据库压力,提高Web应用的性能。在这...
Apache Tomcat 7.0.47 和 Memcached 结合使用可以实现高效的session共享集群解决方案。Memcached 是一个高性能的分布式内存对象缓存系统,它能够将数据存储在内存中,以便快速访问,减轻数据库的负载。在Web应用中,...
在这个场景中,我们关注的是如何在Tomcat 7集群中配置和使用memcached以及配合Nginx进行负载均衡。Memcached是一种分布式内存对象缓存系统,可以提高Web应用的性能,而Nginx则是一个高性能的HTTP和反向代理服务器,...
本文将详细介绍如何在Nginx、Tomcat7和Memcached的环境下实现会话保持,确保用户在多台服务器之间切换时仍能保持其会话状态。 首先,我们要理解会话保持的重要性。在分布式系统中,用户可能与集群中的任何一台...
MSM(Memcached Session Manager)是一个用于Tomcat的session管理器,它允许我们使用Memcached来存储和共享session。在本例中,我们使用的是MSM 1.9.7版本。安装MSM时,需要将jar包添加到Tomcat的lib目录下,并在...
标题中的“tomcat + apache + memcached 集群jar包”揭示了这是一个关于构建分布式系统的技术组合,其中涉及到三个核心组件:Tomcat(一个流行的Java应用服务器)、Apache(一个广泛应用的HTTP服务器)和Memcached...
多台Tomcat服务的Session共享Memcached 在分布式系统中,Session共享是一个非常重要的问题。多台Tomcat服务的Session共享是指在多台Tomcat服务器之间共享用户会话信息,以便在用户在不同的服务器之间切换时,能够...
【标题】"tomcat6+session+memcached" 涉及的知识点主要集中在Web服务器Tomcat6的配置与使用,以及如何通过Memcached实现Session的共享存储。 【描述】"jdk7+tomcat6+memcached。依赖包" 提示了这个环境是基于Java ...
在构建分布式系统时,Session共享是一个关键问题,特别是在使用多种服务器技术如Nginx、Tomcat和Memcached的环境中。本文将深入探讨如何利用这些组件实现跨服务器的Session共享,以确保用户在登录后能够在整个系统中...
"tomcat6-7+memcached支持jar包" 指的是一个兼容Tomcat 6和7版本的Java软件包,它包含了使Tomcat服务器能够与Memcached缓存系统集成所需的JAR文件。这个标题暗示了我们将在Tomcat服务器环境中使用Memcached作为...
tomcat使用memcached保存session所需的jar包 tomcat版本:7.0.68 memcached版本:1.4.31 修改tomcat/conf/context.xml文件,增加如下内容: <Manager className="de.javakaffee.web.msm....
当我们谈论“tomcat7.0+memcached依赖jar包”时,这意味着我们要将Memcached集成到Tomcat 7.0环境中,以便利用其缓存功能。 首先,让我们深入理解Tomcat 7.0。Tomcat 7是Apache Tomcat服务器的一个版本,它遵循Java...
`Tomcat8+Memcached Session`是一个高效、可扩展的解决方案,它结合了Apache Tomcat服务器和Memcached缓存系统来存储和共享用户会话数据。这个组合有助于在分布式环境中解决会话持久性和性能问题。 首先,我们要...
标题中的“tomcat8memcachedsession共享jar”指的是在Tomcat 8中使用Memcached作为会话管理器的实现,以便在多台服务器之间共享会话数据。这通常是为了提高Web应用的可扩展性和性能,因为Memcached是一个分布式内存...
标题中的“memcached+tomcat7共享session所需要的jar包”是指使用Memcached作为分布式缓存系统,实现Tomcat7服务器间的Session共享。这通常是为了在集群环境中解决Session复制或粘滞会话的问题,提高Web应用的可扩展...
安装tomcat,mysql,memcached,jdk脚本 安装tomcat,mysql,memcached,jdk脚本