在Linux安裝Memcached基於內存的緩存及加速集羣部署防止單點現象

轉發:https://idc.wanyunshuju.com/li/581.html

 

 

關於實現 memcached 緩存集羣可以有多種方式,一種是使用 Repcached(memcached同步補丁),Repcached 優點主要是數據冗餘,兩臺 memcached 都可以進行讀寫操作,缺點是隻支持單對單,指支持 1.2.x 版本,所以受到的侷限性很大。另外可以使用開源軟件 Magent實現 Memcached 羣集。通過 Magent 緩存代理,防止單點現象,緩存代理也可以做備份,可以用 keepalived 軟件實現高可用。

通過 magent 緩存代理,防止單點現象,緩存代理也可以做備份,通過客戶端連接到緩存代理服務器,緩存代理服務器連接緩存服務器,緩存代理服務器可以連接多臺 memcached機器,可以將每臺 memcached 機器進行數據同步,如果其中一臺緩存服務器宕機,系統依然可以繼續工作,數據不會丟失並且可以保證數據的完整性。但是如果緩存代理服務器故障,那麼緩存代理服務器將無法繼續提供服務,所以用 keepalived 軟件實現高可用。

Memcached羣集案例

  案例環境 :

  主緩存節點 Master :192.168.2.11 magent 、memcached 、libevent 、keepalived

  備緩存節點 Backup :192.168.2.12 magent 、memcached 、libevent 、keepalived

  客戶端 Client : 192.168.2.13 telnet

  實驗前先關閉三臺機器的 防火牆及 selinux 。

  1 、主/備緩存節點編譯安裝 libevent

  [root@master ~]# tar xf libevent-1.4.9-stable.tar.gz -C /usr/src/

  [root@master ~]# cd /usr/src/libevent-1.4.9-stable/

  [root@master libevent-1.4.9-stable]# ./configure --prefix=/usr && make && make install

  備緩存節點與主相同

  2 、主/備緩存節點編譯安裝 memcached

  [root@master libevent-1.4.9-stable]# cd

  [root@master ~]# tar xf memcached-1.2.6.tar.gz -C /usr/src/

  [root@master ~]# cd /usr/src/memcached-1.2.6/

  [root@master memcached-1.2.6]# ./configure --with-libevent=/usr/ && make && make install

  備緩存節點與主相同

  3 、主、備緩存節點安裝 magent (這個軟件一般要翻牆才能下載)

  [root@master ~]# mkdir magent

  [root@master ~]# tar xf magent-0.5.tar.gz -C magent/

  [root@master ~]# cd magent/

  [root@master magent]# ls

  ketama.c ketama.h magent.c Makefile

  [root@master magent]# vim ketama.h

  1 #ifndef SSIZE_MAX //手動添加此三行在文件開頭處

  2 #define SSIZE_MAX 32767

  3 #endif

  [root@master magent]# ldconfig

  [root@master magent]# sed -i '1 s/$/ -lm/' Makefile

  [root@master magent]# head -1 Makefile

  LIBS = -levent -lm

  [root@master magent]# make

  gcc -Wall -O2 -g -c -o magent.o magent.c

  gcc -Wall -O2 -g -c -o ketama.o ketama.c

  gcc -Wall -O2 -g -o magent magent.o ketama.o -levent -lm

  [root@master magent]# ls

  ketama.c ketama.h ketama.o magent magent.c magent.o Makefile

  [root@master magent]# cp magent /usr/bin/

  [root@master magent]# scp magent 192.168.2.12:/usr/bin/

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