一、分布式部署设置:
memcached 虽然称为 “ 分布式 ” 缓存服务器,但服务器端并没有 “ 分布式 ” 功能。每个服务器都是完全独立和隔离的服务。 memcached 的分布式,则是完全由客户端程序库实现的。 这种分布式是 memcached 的最大特点。所以部署时以相同的方式在不同服务器上安装部署即可。
二、监控:
一个简单的命令行工具memcache-top
下载网址:http://code.google.com/p/memcache-top/
下载之后放在/root/soft目录下
运行命令:
perl memcache-top-v0.6 –instances=ip:端口号,ip:端口号
两台服务器:
perl/root/soft/memcache-top-v0.6–instances=192.168.175.100:11211,192.168.175.100:11211
运行效果如下:

通常情况下memcached运行得相当稳定,但也不排除因为一些不可预知的因素导致memcached进程死掉,而又不能及时的发现重启。架构上保证了即使有几台memcached故障 也不会影响服务,不过对于memcached进程死掉的服务器,只要重新启动memcached,就可以正常运行,所以采用了监视memcached进程并自动启动的方法。于是使用了daemontools。
这里不介绍daemontools的安装了。我使用了以下的run脚本来启动memcached。
#!/bin/sh
exec 2>&1
exec /usr/local/bin/memcached -d -u root -m 1024 -p 11211 -c 2048 -P /tmp/memcached.pid
三、测试
服务端:
两台服务器,各启动两个进程,分配200M内存
启动参数:
/usr/local/bin/memcached -d -m 200 -u root -p 11211
/usr/local/bin/memcached -d -m 200 -u root -p 11212
监控启动:
perl/root/soft/memcache-top-v0.6–instances=192.168.175.100:11211,192.168.175.100:11212,192.168.175.101:11211,192.168.175.101:11212
基于spymemcached测试
1、 打开监控

AddrUtil.getAddresses(
“192.168.175.100:11211 192.168.175.100:11212
192.168.175.101:11211 192.168.175.101:11212″));
for(int i=0;i<10000;i++){
c.set(“key_”+i, 3600, “value_”+i);
}
插入数据之后监控画面:

MemcachedClient c=new MemcachedClient(
AddrUtil.getAddresses(
“192.168.175.100:11211 192.168.175.100:11212
192.168.175.101:11211 192.168.175.101:11212″));
for(int i=0;i<10000;i++){
String key = “key_”+i;
Object obj = c.get(key);
System.out.println(key+”=”+obj);
}
3、 重启服务101:11212,再读取这10000个值,监控结果如下

去掉服务101:11212,获取监控如下:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 ivillcn@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.shangraobbs.com/n/3878.html