Scale-out 3

세션 불일치를 해결하려면 어떤 방법들이 있을까? [3]

이전 포스트에서 서버 확장하고나서 생기는 문제인 데이터 불일치를 해결하는 방법들인 sticky session, session clusetering에 대해 알아보았습니다. 하지만 두가지 방법에서 성능상에서 좋지 않는 문제들이 발생할 수 있었습니다. 그래서 또 다른 방법을 알아보도록 하겠습니다. Session Storage Session Storage는 무슨 뜻일까요? storage는 저장이라는 뜻을 가지고 있습니다. 그러면 세션 스토리지 방법은 세션 저장소를 사용하는 방법입니다. 그림을 보면 여러 서버가 있더라도 세션 스토리지에 세션 데이터를 저장하고 여러 서버들이 세션 저장소에서 세션 데이터를 읽어오는 방법입니다. 독립된 세션 저장소가 있으면 서버의 개수가 늘어나더라도 세션 데이터 정보들을 세션 저장소에..

Project 2021.09.13

세션 불일치를 해결하려면 어떤 방법들이 있을까? [2]

이전 포스트에서 세션 불일치를 해결하는 방법을 알아봤습니다. 이어서 세션 불일치 해결 방법을 알아보도록 하겠습니다. Session Clustering 클러스터링은 무슨 의미일까요? 클러스터는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말합니다. 그러면 클러스터링은 여러 대의 컴퓨터들이 서로 연결되어서 마치 하나의 컴퓨터처럼 동작한다는 의미일 것입니다. WAS에 따라서 session clustering방식은 다 다르지만, 제가 현재 사용하는 스프링 부트의 WAS는 Tomcat이라서 Tomcat의 공식문서를 찾아봤습니다. Tomcat can perform an all-to-all replication of session state using the DeltaManager or..

Project 2021.08.21

세션 불일치를 해결하려면 어떤 방법들이 있을까?

저번 포스트에서 서버를 늘리는 방법을 알아봤습니다. 그 방법은 Scale-up과 Scale-out이 있었는데, 저는 Scale-out방식을 선택해서 서버를 늘리는 방법을 선택했습니다. 하지만 Scale-out은 큰 단점이 있습니다. 그건 바로, 세션 불일치입니다. 세션 불일치가 어떤 것일까요? 그리고 어떤 상황일까요? 이렇게 되면 서버를 늘려서 많은 사용자들이 사용하기 편리하게 만든 이유가 사라질 것입니다. 불편함 때문에 더 이상 사용하지 않을 수 있기 때문입니다. 이 문제를 해결할 수 있는 방법들에 대해 알아보겠습니다. Sticky Session sticky를 검색해보면 '끈적끈적한'이라는 의미를 가지고 있다. 그림을 보면 한 사용자의 세션이 한 서버에만 연결되어있는 것을 볼 수 있다. 즉, 이 방법은..

Project 2021.08.14