Search
Duplicate

무중단 서비스로 구현하는 방법

순서
8
날짜
2023/12/23
사람
상태
Done

문제발생

현재 우리팀은 오전에 배치서버 08:00 오후에 19:00웹서버 배포를 진행하고 있다. 때문에 배포 날짜가 되면 오전과 오후 근무시간으로 피로해지는 문제가 있다. 이를 해결 하기위해 무중단 서비스 배포에대해 고민하게 되었고 어떻게 진행하면 좋을지 작성하려고 한다.

해결방법

쿠버네티스 환경에서 배포를 진행하게 되면 파드가 삭제되고 다시 생성되는 방법으로 배포가 진행된다.
때문에 현재 진행 중인 프로젝트에서 배포를 진행하게 될 시 로그인 사용자나, 진행 중인 프로세스가 멈추고, 재 로그인해야 되는 번거로움이 발생된다. 이를 결하기 위해서 아래와 같은 방법으로 진행을 할 예정이다.

동작순서

1.
로그인을 하게 되면 특정 유저의 세션 값을 레딧에 저장한다.
2.
해당하는 유저가 서버로 접근할 때 레딧의 세션 값을 가져온다.
3.
세션값을 가져온 후 로드 밸런서를 통해 웹서버로 접근을 한다.

결론

1.
파드를 삭제할 때 진행 중인 프로세스는 완료시키고 서버를 삭제하기 때문에 프로세스가 멈추는 동작은 하지 않음
2.
세션은 레딧에 저장되기 때문에 파드가 삭제가 된다고 해도 해당 유저의 세션 값은 알고 있음 (로그인 유지 가능)