2008.12.05 17:22

memcached + replication

memcached 는 가벼운 메모리 기반 분산 캐시 서버로 replication 기능을 제공하지 않는다.
따라서 memcached가 replication을 지원하도록 하기 위해서는 별도의 패치가 필요하다. (물론 직접 구현할 필요는 없다. 뒤지면 다 나온다니깐~)

memcached에 대한 자세한 내용은 아래 링크를 참조하면 된다.
http://www.danga.com/memcached/

아래 사이트에서는 memcached에 replication 기능을 추가하는 패치를 제공한다. 다만 윈도우용 memcached는 패치가 없으므로 그냥 쓰자. -_-;;;; (사실 memcached 공식 홈페이지에서도 윈도우용 데몬은 제공하지 않는다.)
http://repcached.lab.klab.org/

repcached는 memcached의 패치로써 제공되며, 이를 설치하면 memcached가 제공하는 모든 기능들은 그대로 제공되고 replication 기능이 추가된다. 설치 방법은 repcached wiki 페이지에서 상세히 설명하고 있으므로 그대로 따라하면 되겠다.

다음 내용은 repcached wiki 에서 옮긴 내용이다.
http://repcached.wiki.sourceforge.net/ 에서 옮김

How to install

$ MCDVER=1.2.5
$ RCDVER=2.0
$ wget http://downloads.sourceforge.net/repcached/memcached-${MCDVER}-repcached-${RCDVER}.tar.gz
$ tar zxf memcached-${MCDVER}-repcached-${RCDVER}.tar.gz
$ cd memcached-${MCDVER}-repcached-${RCDVER}
--- OR ---
$ wget http://www.danga.com/memcached/dist/memcached-${MCDVER}.tar.gz
$ tar zxf memcached-${MCDVER}.tar.gz $ cd memcached-${MCDVER}
$ wget http://downloads.sourceforge.net/repcached/repcached-${RCDVER}-${MCDVER}.patch.gz
$ gzip -cd repcached-${RCDVER}-${MCDVER}.patch.gz | patch -p1

$ ./configure --enable-replication
[notice: cannot set both --enable-replication and --enable-thread together]
$ make
# make install

위와 같은 방법으로 설치하면 되는데, 이 때 주의할 점은 repcached는 빌드시 최신버전(1.4)의 libevent 를 요구하므로 설치되어 있는 libevent의 버전이 낮거나 libevent 가 설치되어 있지 않으면 최신버전을 설치하도록 하자.

최신버전의 libevent는 아래의 사이트에서 얻을 수 있다.
http://www.monkey.org/~provos/libevent/

libevent 최신 버전을 설치하고 repcached 가 패치된 memcached 설치까지 성공한 후 memcached를 실행했을 때 다음과 같은 에러가 발생할 수 있다.
memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

이와 같은 에러가 발생했을 때 이전 버전의 libevent가 지워지지 않았거나 낮은 버전의 libevent를 참조하고 있는 경우이므로 아래의 사이트를 참조해 최신버전의 libevent를 사용하도록 linux 설정을 바꿔주도록 하자.
http://alexle.net/archives/275

이제 repcached 패치를 적용한 memcached를 사용할 수 있게 되었다!!


관련글
2009/01/21 - [테크 노트 (Tech Note)] - memcached 키 길이 제한
2008/12/03 - [테크 노트 (Tech Note)] - memcached 서버에 저장된 캐시 키 목록 얻기
2008/11/05 - [테크 노트 (Tech Note)] - Spring에서 memcached 사용하기 (2) - memcached Aspect -
2008/11/03 - [테크 노트 (Tech Note)] - Spring에서 memcached 사용하기 (1)

Trackback 0 Comment 0