AWS Elasticache[Redisson및 Tomcat 8구성]

Elasticache 는 AWS 에서 매니지드해주는 서비스로써, Memcached 와 Redis 엔진을 사용할 수 있습니다.

Redis를 Tomcat 의 세션 스토어로 사용할 수 있어, 해당 기능을 소개해 드리고자합니다.

Tomcat에서는 Redisson 패키지를 사용하며, DNS 캐싱설정을 잘 하여 Redis 가 Failover가 되었을 때, 다운타임을 가지는 시간을 최소한으로 하고자 합니다.

우선 Redis 를 생성하고 [콘솔화면 생략],
Tomcat을 설치합니다.

Redisson을 설치하기 위해서 아래와 같이 가져옵니다. [tomcat 8 기준]

출처 : https://github.com/redisson/redisson/tree/master/redisson-tomcat

JAVA_HOME 을 검색하기 위해서, echo $JAVA_HOME 으로 확인을 해주시고요,
cd $JAVA_HOME/jre/lib/security 으로 경로를 바꾼 뒤, vi java.security 를 통해서 아래와 같이 설정을 변경해 줍니다.

[networkaddress.cache.ttl=60]

Tomcat 의 server 쪽 설정으로는, 아래와 같은 설정이 필요합니다.

vi redisson.conf

{
“singleServerConfig”:{
“idleConnectionTimeout”:10000,
“pingTimeout”:1000,
“connectTimeout”:10000,
“timeout”:3000,
“retryAttempts”:3,
“retryInterval”:1500,
“password”:null,
“subscriptionsPerConnection”:5,
“clientName”:null,
“address”: “redis://xxxxxxxx.apn2.cache.amazonaws.com:6379”,
“subscriptionConnectionMinimumIdleSize”:1,
“subscriptionConnectionPoolSize”:50,
“connectionMinimumIdleSize”:32,
“connectionPoolSize”:64,
“database”:0,
“dnsMonitoringInterval”:5000
},
“threads”:0,
“nettyThreads”:0,
“codec”:{
“class”:”org.redisson.codec.JsonJacksonCodec”
},
“transportMode”:”NIO”
}

vi context.xml

<Manager className=”org.redisson.tomcat.RedissonSessionManager”
        configPath=”${catalina.base}/conf/redisson.conf” readMode=”REDIS”/>

vi web.xml

    <session-config>
        <session-timeout>30</session-timeout>
        <cookie-config>
                <max-age>1800</max-age>
        </cookie-config>
    </session-config>

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중