반응형
반응형

참고 링크 : 

http://www.nigeldunn.com/2011/12/11/libevent-2-0-so-5-cannot-open-shared-object-file-no-such-file-or-directory/

 

32비트 머신에선 아래와 같이 /usr/lib로 심볼릭 링크를 걸면 되고, 

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5


64비트 머신에선 /usr/lib64로 심볼릭 링크를 걸면 해결. 

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5


반응형

'개발 > Memcached' 카테고리의 다른 글

[Memcached] Windows 버전 설치  (0) 2016.06.11
[Memcached] Jave Client - XMemcached  (0) 2016.06.11
[phpMemcachedAdmin] Memcached를 위한 WebUI tool  (1) 2016.06.11
,
반응형

windows 버전 memcached를 제공하는 사이트가 있었다. 

 

http://blog.elijaa.org/index.php?post/2010/08/25/Memcached-1.4.5-for-Windows

 

받아서, 해당 경로로가서 cmd창 열어서 memcached.exe -d install 입력하면

뭔가 에러라고 나오긴하는데, 그냥 무시해도 정상동작 한다. 

반응형
,
반응형

기존에 세션 데이터 캐싱을 위해 사용하던, TwemProxy - Multiple Redis 구조가

Redis 중 하나가 죽으면, TwemProxy에서 죽은 Redis를 제거해주기 까지, 서비스가 불안정한 문제가 있어서,

Moxi - Multiple Memcached 로 바꿔봤는데.. 역시나 동일했다.

 

그러다보니 발견 한게, XMemcached라는 라이브러리 였고, 해당 라이브러리에 failover를 자체 지원하는 옵션이 있었다.

 

Moxi, Redis, Twemproxy 모두 드러내고, Memcached만 여러개 띄워서,

XMemcached를 이용하기로 하였다.

 

아래 library는 메이븐 중앙저장소에서도 검색이 된다.

이거 하나만 있으면 됨. 

 

<dependency>
    <groupId>com.googlecode.xmemcached</groupId>
    <artifactId>xmemcached</artifactId>
    <version>2.0.0</version>
</dependency>


 

아래는 간단한 설정. Spring 설정이다. detroyMethod도 제공해줌. 

 


    @Bean(destroyMethod="shutdown")
    public MemcachedClient memcachedClient() throws Exception {
        XMemcachedClientBuilder memcachedClientBuilder = new XMemcachedClientBuilder(messageSourceAccessor.getMessage("memcached.host")); // IP:Port IP1:Port1 IP2:Port2 형식으로 띄어쓰기로 여러대의 서버를 등록이 가능함.
        memcachedClientBuilder.setConnectionPoolSize(50);
        // Command protocol 정의 (기본 : Text Protocol) - Binary가 Text보다 10배 더 빠르다는 결과가 있음.
        memcachedClientBuilder.setCommandFactory(new BinaryCommandFactory());        
        
        // Hashing 방식 지정 (기본 : ketama) - 분산 처리(sharding)를 위한 옵션 (이걸 등록하지 않으면 한 곳으로 부하가 몰린다.)
        KetamaMemcachedSessionLocator sessionLocator = new KetamaMemcachedSessionLocator();    
        // fail over를 할 것인가, 말 것 인가
        sessionLocator.setFailureMode(true);        
        memcachedClientBuilder.setSessionLocator(sessionLocator);
        
        memcachedClientBuilder.setTranscoder(new SerializingTranscoder());   
        
        return memcachedClientBuilder.build();
    }

 

일단 이렇게 서비스하고, 서비스 중 memcached가 한대도 죽지 않는다면,

앞에 Moxi를 붙여서 사용하는 것도 나쁘지 않을 것 같다.  

하지만, XMemcached에도 addServer, removeServer등의 API가 있어서 동적으로 서버를 추가가 가능하기 때문에, 오히려 이게 안정적일 것도 같은데..

이건 유저가 더 많아지면 생각해 볼일 같다.  

 

jmx연동하여 모니터링도 가능하고, phpMemcacheAdmin이라는 툴로 Web UI에서 데이터 확인도 가능 한 것 같은데..

이건 조만간 추가로 진행해봐야 되겠다. 

반응형
,
반응형

Binary Protocol을 사용하다보니깐, 값을 확인하기가 어렵고,

Redis처럼 redis-cli같은것이 있는 것도 아니다 보니깐, memcached에 들어가 있는 값들을 확인할 수가 없어서 찾아보니

아래와 같은 Web UI 툴이 있었고, 모니터링까지 지원을 한다.

 

apache, php5만 설치되어 있으면, DocumentRoot에 걍 가져다 놔도 제대로 작동을 한다. (phpRedmin과는 좀 다른듯;;;)

역시 memcached는 쓰는 사람이 많으니, 이런 좋은툴이 넘쳐나는 것 같다;;

 

설치 법은 매우 간단하니, 아래 링크를 참고하면 됨. 

https://code.google.com/p/phpmemcacheadmin/ 

반응형
,
반응형