문제 상황
- 가장 먼저 식별한 문제인 thymeleaf에 접근이 되지 않는 현상
- 캐시를 지웠다가 할 땐, 간헐적으로 화면이 보이긴 하나 css가 적용되지 않거나 계속해서 페이지가 리다이렉되서 많은 요청이 발생하는 문제 식별, 어디에선 됐다 어디에선 안됐다 와 같은 문제 반복해서 발생
고민 및 해결을 위한 시도
- 고민 1) 앞서 해결 방법으로 강구한 인증서 문제 → 인증서 정상
- 고민 2) nginx 문제 혹은 도메인 문제 → x
- 고민 3) 로드밸런스 문제 → x
- 고민 4) 서버 상태 문제 → actuator api 정상 호출
- 고민 5) 어플리케이션 설정 확인 → 문제 식별 (또 다른 문제 -해당 문제 해결 후 로그인이 정상적으로 되지 않는 이슈)
- 고민 6) 운영 도메인, nginx, load balancer와 같은 문제에 포커스를 맞췄으나, 여타 다른 서비스는 제대로 동작하고 있음을 확인
- 해당 모듈에 포함된 모든 모듈은 session을 통해 요청을 보내는데, 이 때 로드 밸런서에 의해 여러 서버로 요청이 분산되는 경우 해당 세션이 유지되지 못할 것이라는 고민 (가설 생성)
문제 해결
- 수립한 가설을 검증하기 위해 helm-chart의 pods정책 및 replica 정책 변경
- (1개의 단일 파드 및 레플리카 1개, (hpa)오토스케일링 중지) → 해당 결과로 빌드 시 파드는 1개만 생성 및 테스트 진행 결과 정상적으로 로그인 및 접근 가능 - (해결)
- 부연 설명 :
- admin 모듈은 사용할 사람이 적고, 트래픽이 많이 필요하지 않아 기존의 정책에서 불필요한 부분을 제거함으로서 리소스 낭비 방지
- 해당 모듈 외에 다른 모듈은 커넥션 및 기존의 운영 정책을 어느정도 비슷하게 따라 갈 예정
- 그러나 현 시점에서는 만약에 세션에 관련된 세팅이 없다면 동일한 문제는 계속해서 발생할 것이라 생각해 다음과 같은 선택지를 생각
- stickey session
- redis
- token
- 그러나 현 시점에서는 만약에 세션에 관련된 세팅이 없다면 동일한 문제는 계속해서 발생할 것이라 생각해 다음과 같은 선택지를 생각