기술지원 문의

로드밸런싱에서 세션을 유지하는 방법
이경수 / 2002-11-07 00:00

1. resin을 이용해서 하나의 서버내에서 http서비스 1개와 servlet runner 2개를 생성해서 로드밸런싱을 하는 것은 성공했습니다.

그런데, 여기에서 servlet runner하나가 죽는 경우에 그것에 연결되어 있던 세션이 다른 servlet runner로 이전이 되지 않습니다. 이경우에 세션정보를 유지하려면 어떻게 해야 합니까?

2. 1번과 같이 http 1개와 srun 2개가 실행되고 있는 서버가 똑같이 두대가 있고, 이것들 앞에 허브단에서 로드밸런싱이 이루어지는 경우, 만약에 한쪽 서버가 죽으면, 이 서버에 연결된 세션을 다른 서버에서 유지하려면 어떻게 해야 합니다.

답변해 주시면 고맙겠습니다.

Re:로드밸런싱에서 세션을 유지하는 방법
관리자 / 2002-11-12 00:00

Resin은 Session유지를 위한 메커니즘을 3가지제공합니다.
File, Memory, DB입니다.
즉 File이나, Memory, DB 등에 Session정보를 넣어놓고
이 정보를 이용하게 한다면 특정세션이 문제가 생긴 경우에도
이를 복구할 수 있습니다.
그러나 File을 이용하는 경우는 1개의 머신내에서 여러개의
Resin Instance를 운영하는 경우로 사용을 제한하는 것이
좋고 여러대의 머신에 결쳐 Session을 공유하고자 한다면
TCP-RING이나 JDBC를 이용하는 것이 바람직합니다.


--이경수 님의 글 [2002-11-07 13:30:07]
>1. resin을 이용해서 하나의 서버내에서 http서비스 1개와 servlet runner 2개를 생성해서 로드밸런싱을 하는 것은 성공했습니다.

그런데, 여기에서 servlet runner하나가 죽는 경우에 그것에 연결되어 있던 세션이 다른 servlet runner로 이전이 되지 않습니다. 이경우에 세션정보를 유지하려면 어떻게 해야 합니까?

2. 1번과 같이 http 1개와 srun 2개가 실행되고 있는 서버가 똑같이 두대가 있고, 이것들 앞에 허브단에서 로드밸런싱이 이루어지는 경우, 만약에 한쪽 서버가 죽으면, 이 서버에 연결된 세션을 다른 서버에서 유지하려면 어떻게 해야 합니다.

답변해 주시면 고맙겠습니다.