magent——memcached缓存代理服务器

memcached分布式缓存

咱们使用PHP链接多台memcached服务器,作分布式缓存,实现以下:php

$memcache = new Memcache;
$memcache->addServer('192.168.252.134', 11211);
$memcache->addServer('192.168.252.134', 11212);
$memcache->addServer('192.168.252.134', 11213);
for ($i = 0; $i < 1000; $i++)
{
    $memcache->set($i, $i, 0, 1000);
}

这样的实现是最直接、简单的,PHP应用直接链接memcached服务器。但也存在一个问题,就是可用性的问题,若是,有一台memcached 服务器宕机了,那么该服务器上的数据就丢失了,可能有人会认为,memcached原本就是作缓存的,缓存丢失就丢了呗,没什么大惊小怪的。其实否则滴, 缓存的命中率也是影响系统稳定性和高可用的一个指标嘛,难道每次丢了缓存,咱们就那么心宽的“去数据库找数据就好咯”,这样缓存还有意义吗。html

magent——memcached缓存代理服务器

针对上面的问题,能够使用magent缓存代理服务器来管理memcached服务器,PHP应用由直接和多台memcached交互转变成和magent交互。那么,magent都帮咱们作了什么呢?数据库

咱们先上个图看看缓存

能够看出,magent做为memcached集群的代理,还能够作备份(192.168.252.134:11213为备份服务器),主缓存服务 器(192.168.252.134:112十一、192.168.252.134:11212)宕机后,应用依旧能够用从备份服务器上读取到缓存。服务器

搭建magent缓存代理服务器

magent依赖libevent库分布式

magent依赖libevent库memcached

magent依赖libevent库post

重要的话说三遍!!测试

1)编译安装magentgoogle

cd /home
mkdir ./magent
cd ./magent
wget -c https://memagent.googlecode.com/files/magent-0.5.tar.gz    // 谷歌被墙了,若有须要能够评论留邮箱
tar xzvf ./magent-0.5.tar.gz
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
cp ./magent /usr/bin/magent

编译过程会遇到不少问题,参照这网址自行解决

2)memcached的搭建略过

3)启动memcached和magent

magent -u root -l 192.168.252.134 -p 11210 -s 192.168.252.134:11211 -s 192.168.252.134:11212 -b 192.168.252.134:11213

4)运行测试脚本

<?php
$host = '192.168.252.134';
$port = '11210';
$mem = memcache_connect($host, $port);

$key1 = 'mctest1';
$value1 = '1';
$mem->add($key1, $value1);

$key2 = 'mctest2';
$value2 = '2';
$mem->add($key2, $value2);

$key3 = 'mctest3';
$value3 = '3';
$mem->add($key3, $value3);

$key4 = 'mctest4';
$value4 = '4';
$mem->add($key4, $value4);

$key5 = 'mctest5';
$value5 = '5';
$mem->add($key5, $value5);

$key6 = 'mctest6';
$value6 = '6';
$mem->add($key6, $value6);

服务器192.168.252.134:11211

服务器192.168.252.134:11212

服务器192.168.252.134:11213

主服务器上的数据都会备份到备份服务器上,若是主服务器宕机了,应用依旧能够从备份服务器上取数据。

更多的部署图

本文连接:http://www.hcoding.com/?p=316

原创文章,转载请注明:JC&hcoding.com

相关文章
相关标签/搜索