Development Tip - When modifying a session in a hurry

  • 공부나 경험을 통해 얻은, 개발에서 활용할 내용들을 담은 포스팅

상황

  • 고객에게 로그인이 계속 풀린다는 항의가 들어옴.
  • 알고보니 서버는 여러개인데, 세션을 서버단에서 처리하고 있다보니, A서버로 로그인하는데 다음페이지는 B서버로 이동되어 벌어지는 문제임.
  • 해결하려면 Redis Session 등을 개발하여 서버가 공유할 수 있도록 클러스터링 해야되지만, 당장은 어려움.
  • 그러나 지금 바로 해결해야 됨.


해결

  • 트래픽이 적은 서비스라면 일단 서버를 한 대만 남기고 나머지는 내리는 방법을 선택할 수 있음.
  • 스티키세션( Sticky Session )을 사용
    • 스티키세션은, 세션을 A서버에서 입력하였으면 계속 A서버만 호출할 수 있게 해주는 방법임.
  • 우선 시간이 없을 때에는 이렇게 먼저 해결을 한 후, 세션을 클러스터링하는 기능을 개발하여 제공할 수 있음.


로드밸런스란?

  • 트래픽을 여러대의 서버로 분산시켜서 부하를 고르개 분배하는 것을 로드밸런싱이라고 하며, 그러한 장치나 소프트웨어를 로드밸런서라고 한다.
  • 모니터링해서 좀 트래픽이 덜 몰리는 곳에 넣는다거나, A에 한번 B에 한번 이렇게 고르게 분산시킨다거나, 설정에 따라 다양한 방법으로 로드밸런싱을 할 수 있다.






results matching ""

    No results matching ""