一、分布式部署设置:
虽然memcached被称为“分布式”缓存服务器,但是在服务器端没有“分布式”功能。每台服务器都是完全独立和隔离的服务。memcached的分发完全由客户端库实现。这种分布是memcached最大的特点。因此在部署时,以同样的方式在不同的服务器上安装部署。
二。监控:
一个简单的命令行工具
下载网址:
http://code.google.com/p/memcache-top/
下载后放在/root/soft目录下。
运行命令:
memcache-top-v 0.6–Instances = ip:端口号,IP:端口号
两台服务器:
perl/root/soft/memcache-top-v 0.6–instances = 192.168.175.100:11211,192 . 168 . 175 . 100:11211
操作效果如下:
Daemontools:监视memcached进程并自动启动它。
网址:
http://cr.yp.to/daemontools.html
通常情况下,memcached运行相当稳定,但不排除因为一些不可预知的因素导致memcached进程死亡,无法及时发现并重启。该架构保证即使有几个memcached故障,服务也不会受到影响。但是只要重启memcached服务器就可以正常运行,所以采用了监控memcached进程并自动启动的方法。所以我用了daemontools。
这里不介绍daemontools的安装。我使用下面的运行脚本来启动memcached。
#!/bin/sh
exec 2 & gt& amp一个
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-v 0.6–instances = 192 . 168 . 175 . 100:11211,192.168.175.100:11212,192.168.175.101:11211,192.168.175.101:11212
基于spymemcached的测试
1.打开监控。
2.将10,000条数据插入memcached
MemcachedClient c =新的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;我& lt10000;i++){
c.set("key_"+i,3600," value _ "+I);
}
插入数据后的监视器屏幕:
所有四个memcached服务都存在,读取监控与上面相同。
价值代码:
MemcachedClient c =新的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;我& lt10000;i++){
string key = " key _ "+I;
object obj = c . get(key);
system . out . println(key+" = "+obj);
}
3.重新启动服务101:11212,然后读取这10000个值。监测结果如下
说明一台服务器的数据丢失不会影响其他服务器的数据和读取。
4.移除一个服务,然后读取这10000个值。监测结果如下
删除服务101:11212并获得如下监控:
添加一个新服务101: 11213,以获得如下监控:
可以看出,节点的变化会影响命中率。
本文来自是我太自作多情投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/640283.html