memcached+magent实现memcached集群
来源:互联网 发布:大连日语软件测试 编辑:程序博客网 时间:2024/04/29 23:32
一、说明
Memcache本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源;无法同步数据,容易造成单点故障。(memagent代理实现集群)
在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 。
Memcached单进程最大使用内存为2G,要使用更多内存,可以分多个端口开启多个Memcached进程
最大30天的数据过期时间,设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA 60*60*24*30控制
最大键长为250字节,大于该长度无法存储,常量KEY_MAX_LENGTH 250控制
单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制, 它是默认的slab大小
最大同时连接数是200,通过 conn_init()中的freetotal进行控制,最大软连接数是1024,通过settings.maxconns=1024 进行控制
跟空间占用相关的参数:settings.factor=1.25, settings.chunk_size=48, 影响slab的数据占用和步进方式
memcached是一种无阻塞的socket通信方式服务,基于libevent库,由于无阻塞通信,对内存读写速度非常之快。
memcached分服务器端和客户端,可以配置多个服务器端和客户端,应用于分布式的服务非常广泛。
memcached作为小规模的数据分布式平台是十分有效果的。
memcached是键值一一对应,key默认最大不能超过128个字 节,value默认大小是1M,也就是一个slabs,如果要存2M的值(连续的),不能用两个slabs,因为两个slabs不是连续的,无法在内存中 存储,故需要修改slabs的大小,多个key和value进行存储时,即使这个slabs没有利用完,那么也不会存放别的数据。
二、集群规划
1. 服务器列表
magent server 192.168.128.100:10000
memcache server 1 (mem-s1) 192.168.128.101:11211
memcache server 2 (mem-s2) 192.168.128.102:11211
memcache server 3 (mem-s3) 192.168.128.103:11211
memcache backup 1 (mem-b1) 192.168.128.104:11211
memcache backup 2(mem-b2) 192.168.128.105:11211
2. 部署图示:
三、集群实施
1. 在mem-s1,mem-s2,mem-s3,mem-b1,mem-b2机器上分别安装memcached
#编译安装libeventwget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gztar zxvf libevent-1.4.9-stable.tar.gzcd libevent-1.4.9-stable/./configure --prefix=/usrmake && make installcd ../
#编译安装Memcached:wget http://danga.com/memcached/dist/memcached-1.2.6.tar.gztar zxvf memcached-1.2.6.tar.gzcd memcached-1.2.6/./configure --with-libevent=/usrmake && make installcd ../
2.启动所有机器的memcached服务
执行以下命令:
memcached -m 1 -u root -d -l 192.168.128.101 -p 11211
memcached -m 1 -u root -d -l 192.168.128.102 -p 11211
memcached -m 1 -u root -d -l 192.168.128.103 -p 11211
memcached -m 1 -u root -d -l 192.168.128.104 -p 11211
memcached -m 1 -u root -d -l 192.168.128.105 -p 11211
然后查看进程是否启动成功 ps -ef | grep memcached
3. 在Magent机器上安装magent服务
#编译安装magent:mkdir magentcd magent/wget http://memagent.googlecode.com/files/magent-0.5.tar.gztar zxvf magent-0.5.tar.gz/sbin/ldconfigsed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefilemakecp magent /usr/bin/magent
4.在Magent机器上启动magent服务
执行命令:
magent -u root -n 51200 -l 192.168.128.100 -p 10000 -s 192.168.128.101:11211 -s 192.168.128.102:11211 -s 192.168.128.103:11211 -b 192.168.128.104:11211 -b 192.168.128.105:11211
启动参数
-u 启动账号
-n 最大连接数
-l magent监听的IP
-p magent监听的端口
-s IP:端口 代表是主服务器的IP:端口
-b IP:端口 代表是备服务器的IP:端口
四、检验集群
1. 集群数据分布式存储检验
2. 集群数据冗余备份检验
3. 集群服务failover检验
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- memcached+magent实现memcached集群
- magent实现memcached集群方式
- magent做memcached集群
- Magent搭建Memcached集群
- Magent搭建Memcached集群
- magent + memcached 集群测试
- magent + memcached 集群测试
- magent与memcached集群的实现
- C语言入门考试题
- 客户端下载文件(zip)的方法
- shell判断文件是否存在
- dos转unix
- android模拟器SD卡的创建
- memcached+magent实现memcached集群
- /bin,/sbin,/usr/sbin,/usr/bin 目录的区别
- 黑马程序员——java语言基础部分——集合体系之Collection、Map
- 第六届ACM省赛总结--李自钊
- onvif规范的实现:onvif开发常用调试方法 和常见的segmentation fault错误
- 支持向量机(SVM)的详细推导过程及注解
- window 安装 pymysql
- JavaSE实战——多线程
- java.lang.OutOfMemoryError的解决方法 tomcat