서버 로드벨런싱 관련
본문
안녕하세요,
현재 사이트 부하분산 작업을 하기위해 로드벨런싱을 L4 장비를 두고 해두었는데요.
영카트를 사용하고 있는데, 문제가
접속자 -> A서버 (로그인 성공) -> 랜덤으로 B서버로 이동( 로그인 자동해제)
위 처럼 세션이 공유가 안되어, 로그인이 자동으로 랜덤으로 풀렸다가 되었다가 하는 증상이 있습니다.
data 폴더는 서버끼리 공유해두어서, 그누보드 세션 파일 이랑 관련없이,
서버 세션쪽 인것 같은데.. 이런경우 어디를 어떻게 손봐야 하나요.. ??
L4 업체에서는 세션 클러스터링을 해야되는것 같다고 하는데..
그것도 확실하지 않다고 하고...
그누보드로 로드벨런싱 하신분들 계시다면 좀 알려주세요... ㅠㅠ
답변 2
L4 장비의 Matric 을 수정하면 됩니다. hash 방식으로 설정하면 될것입니다.
(data 폴더는 서버끼리 공유해두어서, 그누보드 세션 파일 이랑 관련없이, <-- 이부분은 문제가 있을걸로 보입니다. 아마 정확하게 서버간에 데이타 공유가 안되고 있을겁니다. 공유가 된다면, 세션처리에 문제가 없었어야 합니다.)
L4 장비를 쓸만큼 가용성을 높혀야 한다면, file 기반 session 보다는 메모리 방식의 nosql 을 쓰시는게 더 좋습니다.
(이게 요즘에 잘 쓰는 방식이기도 하구요. 업체에서 설명한 세션 클러스터링도 구현가능하며, 쉽게 설정 가능합니다.)
redis 나 memcached로 session.save_path를 변경하시면 됩니다. redis를 사용하는 방법은 아래글을 참조하세요.
redis 1기가를 사용자 세션으로만 으로 쓴다면, 충분하리라고 봅니다.