Magent集羣

這裏寫圖片描述
工作原理:
magent(memcached agent)基於Consistent Hashing原理來緩存數據
上圖中的Memcached-1~Memcached-3屬於主服務器,每臺負責緩存部分數據,Memcached-4屬於備份服務器,緩存上述三臺的所有數據
如果其中一臺主服務器宕機,數據將會從備機上獲取。如果其中一臺主服務器宕機,同時備機也宕機,則該主服務器的數據丟失
上述的Magent可實現HA高可用

安裝libevent:
tar -zxf libevent-2.0.21-stable.tar.gz
./configure –prefix=/usr && make && make install

cp /usr/lib/libevent.a /usr/lib64
ln -s /usr/lib64/libm.so /usr/lib64/libm.a
/sbin/ldconfig

安裝magent-0.5.tar.gz:
mkdir magent
tar -zxf magent-0.5.tar.gz -C magent

vim magent/Makefile

LIBS = -levent 更改爲:LIBS = -levent -lm

CFLAGS = -Wall -O2 -g 更改爲:CFLAGS = -lrt -Wall -O2 -g

vim magent/ketama.h

在行首添加:

ifndef SSIZE_MAX

define SSIZE_MAX 32767

endif


編譯

make
cp magent /usr/bin/magent

啓動memcached服務,每臺主給4GB內存,備機給12GB內存和60000個連接數

memcached -p 11211 -m 4096 -d -l 192.168.202.221 -u memcached -c 20000 -t 8 -b 2048 -P /var/run/memcached-11211.pid
memcached -p 11211 -m 4096 -d -l 192.168.202.222 -u memcached -c 20000 -t 8 -b 2048 -P /var/run/memcached-11211.pid
memcached -p 11211 -m 4096 -d -l 192.168.202.223 -u memcached -c 20000 -t 8 -b 2048 -P /var/run/memcached-11211.pid
memcached -p 11211 -m 12288 -d -l 192.168.202.224 -u memcached -c 60000 -t 8 -b 2048 -P /var/run/memcached-11211.pid

啓動magent服務,分配65000個連接數

magent -u root -n 65000 -l 192.168.202.225 -p 11211 -s 192.168.202.221:11211 -s 192.168.202.222:11211 -s 192.168.202.223:11211 -b 192.168.202.224:11211

-n:指定連接數
-l:綁定監聽的IP
-p:指定端口
-s:指定主服務器
-b:指定備份服務器

測試連接:
telnet 192.168.202.222 11211
寫入一條數據後,分別查詢3臺主,只有其中一臺有(使用了Consistent Hashing算法),在查看備機是否存在

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章