Memcached 实现高效HA

环境2台centos

1, 192.168.0.205  (Memcached + Libevent + magent)

2, 192.168.0.206  (Memcached + Libevent + Magent)

准备软件,2台centos都需要同样的安装

cd /opt
wget http://downloads.sourceforge.net/levent/libevent-2.0.22-stable.tar.gz  
wget http://www.memcached.org/files/memcached-1.4.22.tar.gz
wget http://memagent.googlecode.com/files/magent-0.5.tar.gz   #呵呵,需要翻墙,你懂的

1. 先安装libevent(memcached依赖libevent):

tar zxf libevent-2.0.22-stable.tar.gz    
cd libevent-2.0.22-stable    
./configure –prefix=/usr/local/libevent
make && make install

2, 安装Memcached

tar zxvf memcached-1.4.22.tar.gz    
cd memcached-1.4.22    
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent --enable-64bit   
make && make install

3, 创建memcached用户,用于启动memcached,也可以用root用户,不建议

useradd -s /sbin/nologin memcached

4, 创建启动脚本

\cp -pa /opt/memcached-1.4.22/scripts/memcached.sysv /etc/init.d/memcached
chown memcached: /etc/init.d/memcached
chmod +x /etc/init.d/memcached
mkdir -p /var/run/memcached
chown -R memcached: /var/run/memcached
vi /etc/init.d/memcached  #添加下面行
PORT=11211   
USER=memcached   #Change
MAXCONN=1024   
CACHESIZE=128    #根据本机内存修改
OPTIONS=”” 
IP=`ifconfig |grep ‘inet addr‘|awk -F‘:‘ ‘"inet addr" {print $2}‘|sed -n 1p|awk ‘{print $1}‘`  #添加,得到ip

chown $USER /usr/local/bin/memcached  #找到下面一行
/usr/local/bin/memcached –d -l $IP –p $PORT –u $USER –m $CACHESIZE –c $MAXCONN –P /var/run/memcached/memcached.pid $OPTIONS

5, 启动memcache

chkconfig --add memcached
chkconfig memcached on
/etc/init.d/memcached start

6, 安装magent

mkdir /usr/local/magent
\cp -pa /opt/magent-0.5.tar.gz /usr/local/magent
tar zxf magent-0.5.tar.gz

vi ketama.h   #编辑此文件,添加下面行到开头
#ifndef SSIZE_MAX    
#define SSIZE_MAX 32767    
#endif

编辑/etc/ld.so.conf, 添加如下

vi /etc/ld.so.conf
/usr/local/libevent/lib/

#保存退出
/sbin/ldconfig  #即时生效

编辑Makefile

vi Makefile
LIBS = -levent -lm -L/usr/local/libevent/lib #修改
INCLUDE = -I/usr/local/libevent/include

Make Magent

make

第2台centos,按照上面一样的配置

启动Magent

/usr/local/magent/magent -u root -l 192.168.0.205 -p 11200 -s 192.168.0.205:11211 -b 192.168.0.206:11211    
/usr/local/magent/magent -u root -l 192.168.0.206 -p 11200 -s 192.168.0.205:11211 -b 192.168.0.206:11211

本人测试是可以的, 你们自己测试吧,,, 注意地址池要写两个magent地址

时间: 2024-10-11 02:01:20

Memcached 实现高效HA的相关文章

php使用memcached简单示例分享

本文章简单向码农们介绍一下memcached.memcached 是高效.快速的分布式内存对象缓存系统,主要用于加速WEB动态应用程序.今天我和码农们先来简单探讨下memcached的用法. 1.添加memcached扩展包 php_memcache.dll 2.在PHP.INI添加memcached扩展 extension=php_memcache.dll 3.程序 <?php //创建一个mem对象实例 $mem=new Memcache; if(!$mem->connect("

php使用memcached详解

一.memcached 简介 在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东.这里简单介绍一下,memcached 是高效.快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序. 二.memcached 安装 首先是下载 memcached 了,目前最新版本是 1.1.12,直接从官方网站即可下载到 memcached-1.1.12.tar.gz.除此之外,memcached 用到了 libevent,我

memcached使用文档

使用memcached进行内存缓存 通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓 存,而使用memcached的缓存比ASP.NET的局部缓存更加灵活,可以缓存任意的对象,不管是否在页面上输出.而memcached最大的优点是 可以分布式的部署,这对于大规模应用来说也是必不可少的要求. LiveJournal.com使用了memcached在前端进行缓存,取得了良好的效果,而像wikipedia,sourceforge等也采用了或即将采用memca

关于高并发下memcached可能出现的问题

首先,说说memcached的标准用法:memcached使用高效缓存,当有一些内容不是经常变动时,可以写入其中.如果有请求要获取这块数据,则优先从缓存中取出,仅当缓存过期,则从数据库获取实时数据,并再次更新到缓存中. 但如果网站频频出现高并发,比如说,将某块数据写入并设置有效时间为60s,但如果正好在60s后的那个瞬间,假如有10000个请求同时尝试获取这块数据,那么这10000个请求仍然只能通过数据库访问方式去获取,有没有办法缓解这种情况? 考虑利用memcache单个操作的原子性,使得10

转发 :QQ游戏百万人同时在线服务器架构实现

QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的强大棋牌休闲游戏帝国. 服务器程序,其可承受的同时连接数目是有理论峰值的,通过C++中对TSocket的定义类型:word,我们可以判定这个连接理论峰值是65535,也就是说,你的单

简单说说PHP优化那些事

我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码. 进行大范围的优化,而不是死啃某些程序代码 我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不是对你的PHP代码加以改进从而提高程序的运行速度,因为比起你将程序中的正则优化为字符串处理函数从而提升程序速度来说,在大范围内进行的优化所需要的代价要比这

php-memcached详解

一.memcached 简介 在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东.这里简单介绍一下,memcached 是高效.快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序. 二.memcached 安装 首先是下载 memcached 了,目前最新版本是 1.1.12,直接从官方网站即可下载到 memcached-1.1.12.tar.gz.除此之外,memcached 用到了 libevent,我

转载 遇到过的一些php笔试题

遇到过的一些php笔试题 1.linux的多线程和多进程有什么区别?什么时候使用多线程,什么时候使用多进程? 答:(1)进程资源调度的最小单位,线程是cpu调度的最小单位:多进程开销大,多线程开销小,这是最基本的区别:一个进程里面可能有很多线程,把进程分解为线程之后就可以有效利用cpu和内存 (2)当需要频繁创建和销毁时优先选用多线程: 需要进行大量计算的优先使用线程: 强相关的处理用线程,弱相关的处理用进程:    可能要扩展到多机分布的用进程,多核分布的用线程: 都满足需求的情况下用最熟悉最

细说PHP优化那些事

我们在用PHP编程的时候,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码. 进行大范围的优化,而不是死啃某些程序代码 我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不是对你的PHP代码加以改进从而提高程序的运行速度,因为比起你将程序中的正则优化为字符串处理函数从而提升程序速度来说,在大范围内进行的优化所需要的代