배치컨테이너 배포와 스케줄러 실행이 동시에 진행되는 것에 주의(InvalidGlobalDeployVersionException, InvalidGlobalDeployVersion, LinkageError)
* 해당 글은 계속 수정 예정입니다.
최초 작성일 2021.04
마지막 수정일 2023.04
# 배치컨테이너 배포와 스케줄러 실행이 동시에 진행
결론부터 말하자면 오류가 발생가능하며, 이 경우 배치가 돌던 중 오류가 발생하고 데이터의 정합성을 보장 할 수 없을 것이다.
그러면 해당 컨테이너의 로그를 직접 보면서 데이터 보정 작업을 진행해야 될 수 있다.
또한 배치를 마저 돌려야 되는지, 그냥 재수행만 해도 될지 아니면 데이터 보정 후 재수행을 해야될지 등을 판단해야 한다.
ex) admin 컨테이너 로그상 배포(HotDeploy)와 배치 실행이 겹치게 되어, InvalidGlobalDeployVersionException, InvalidGlobalDeployVersion 발생
프레임워크/서버에 따라 안전성이 어느정도 보장되는지는 모르겠으나,
가능한 배포일정이 스케줄러와 겹치지 않도록 조율하는것이 좋을 것 같다.
# 다른 컨테이너의 배포는 서비스에 영향이 없을까?
꼭 배치컨테이너가 아니더라도 운영배포가 서버에 영향을 줄 가능성은 항상 존재한다.
특정 지불수단의 컨테이너를 배포중에,
신규소스가 핫디플로이 되면서. 기존 클래스로더와 신규 클래스로더가 충돌나는 타이밍 이슈가 생길 수 있다.
ex) LinkageError 에러 발생
해당 오류가 발생한다면,
대상건에 대해 DB 후처리 작업이 필요할지 개발자의 확인이 필요하다.
ex) 클라이언트의 결제 요청에 대하여, 서버에서 결제성공 하였으나 이후 오류발생으로 인해 클라이언트로 오류응답 => 실제 거래상태 확인 후 취소처리 필요 + 필요하다면 DB보정작업 필요
# 참고
1. 본인 블로그 : (참고사례)
https://drsggg.tistory.com/541
(참고사례)배치컨테이너 배포와 스케줄러 실행이 동시에 진행되면 어떻게 되나
공부한것들을 정리하는 블로그 입니다. (참고사례)배치컨테이너 배포와 스케줄러 실행이 동시에 진행되면 어떻게 되나 본문 경력 실무경험/실무 주제 (참고사례)배치컨테이너 배포와 스케줄러
drsggg.tistory.com
2. 본인 블로그 : (참고사례)
https://drsggg.tistory.com/721
(참고사례)LinkageError 에러
공부한것들을 정리하는 블로그 입니다. (참고사례)LinkageError 에러 본문
drsggg.tistory.com