본문 바로가기

cookie3

redis를 이용한 tomcat 세션 클러스터링 AWS 샘플 아키텍쳐에 대해 설명할 때, 고가용성 및 부하분산 구성을 위해 WAS 이중화가 필요하며, 다중화된 WAS를 운영하기 위해서는 엘라스틱캐시(redis)를 이용한 세션 클러스터링의 필요성을 자주 언급하곤 합니다. 하지만 구체적으로 어떻게 세션 클러스터링을 하는지 방법을 몰라 한번 해본 김에 기술 공유차 작성합니다. 1. 세션과 쿠키의 관계 먼저 세션 클러스터링을 구성하려면 세션이 어떤 역할을 하는지 알아야할 것 같습니다. 다들 아시겠지만 정리를 겸해서 작성해봅니다. HTTP는 stateless(상태 비 저장) 프로토콜입니다. 때문에 이전에 통신한 내용으로 인해 다음 통신에 영향을 주진 않습니다. 그저 요청에 따른 응답을 하는 것이죠. 이 특징은 정적 페이지(html, 이미지 등)에 대한 요청/응.. 2023. 3. 30.
Memcached를 이용한 PHP 세션 클러스터링 지난번에 redis를 이용한 tomcat 세션 클러스터링에 대해 간단히 알아봤었는데요. 오늘은 redis 와 함께 AWS ElastiCache 에서 서비스하는 클러스터엔진 중 하나인 Memcached를 이용하여 PHP의 세션을 클러스터링하는 방법에 대해 알아보도록 하겠습니다. Memcached란 memcached는 범용 분산 캐시 시스템으로, 메모리에 데이터와 객체들을 캐시처리함으로써 웹사이트의 속도를 높이기 위해 사용됩니다. 메모리에 키, 값 형식으로 데이터를 저장한다는 점에서 redis와 비슷한 특징을 가지고 있지만, redis는 데이터를 메모리 뿐만아니라 파일 형태로 백업(스냅샷)도 가능하고, 자체적으로 클러스터링(센티넬) 기능을 지원하며, memcached 에 비해 좀 더 다양한 데이터 타입을 지.. 2023. 3. 21.
토스트 클라우드 로드밸런서(세션 지속성) 세션 이슈로 최근 며칠 토스트 클라우드 LB의 로드밸런싱 정책 및 세션 관련 옵션에 대해 알게된 것들을 공유해드리고자 글을 작성했습니다. 로드밸런싱 정책 로드밸런싱 정책의 경우 가이드(http://docs.toast.com/ko/Network/Load%20Balancer/ko/overview/) 페이지에 잘 나와있지만 간단히 정리하면 아래와 같습니다. 1. Round Robin 단순히 순차적으로 리스너를 선택하는 방식(이와 유사하게 Weighted round robin 방식은 리스너에 가중치를 부여하여 각 리스너가 1:1 비율이 아닌 리스너별로 비율(가중치)를 설정하여 라운드 로빈하는 방식으로, 토스트 클라우드에서 지원하고 있지는 않지만 참고하시면 좋을 것 같습니다) 2. Least Connections.. 2023. 3. 16.