강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

공부맛있다님의 프로필 이미지
공부맛있다

작성한 질문수

안정적인 서비스 배포를 위한 배포 전략과 팁

블루그린 배포

무중단 배포 시 클라이언트와의 연결 보장 전략이 궁금해서 질문 남깁니다!

작성

·

18

0

준형님, 안녕하세요.

항상 질 좋은 강의 제공해 주셔서 감사합니다.


WebSocket을 통해 클라이언트와 실시간 연결을 유지하는 서버에서 blue/green 배포가 이루어질 경우, 교체 대상 서버에 연결되어 있던 클라이언트의 세션이 끊어질 수 있을 것 같은데요.
이러한 상황에서 클라이언트의 재연결 혹은 연결 보장을 위해 일반적으로 어떤 전략을 사용하시는지 여쭤보고 싶습니다.


시간 괜찮으실 때 조언 주시면 정말 감사하겠습니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
공부맛있다님, 질문 주셔서 감사합니다.

WebSocket을 통한 실시간 연결을 유지하면서 blue/green 배포를 할 때, 클라이언트의 세션이 끊어질 수 있는 문제는 일반적으로 다음과 같은 전략으로 해결할 수 있습니다:

  1. 연결 복구 로직 구현: 클라이언트 측에 자동 재연결 로직을 구현하여, 만약 연결이 끊어지면 자동으로 새로운 서버에 재연결을 시도하도록 합니다.

  2. 세션 유지: 클라이언트의 세션 상태를 서버에 저장하고, 연결이 재확립되면 저장된 세션 정보로 클라이언트의 상태를 복원하는 방법을 사용할 수 있습니다.

  3. 로드 밸런서 사용: 로드 밸런서를 통해 신규 요청을 새로운 서버로 분배함으로써, 이전 연결은 기존 서버로 남아 끊어지지 않도록 관리할 수 있습니다.

  4. WebSocket의 단기 끊김 대응: WebSocket을 이용할 경우, 클라이언트는 짧은 시간의 연결 끊김을 자연스럽게 복구하는 데 적합한 프로토콜이므로, 클라이언트가 자동으로 재연결 시도를 하도록 구현합니다.

각각의 전략은 시스템의 요구사항이나 환경에 따라 달라질 수 있으므로, 여러 방법을 조합해서 사용하시는 것을 권장드립니다.

추가적으로 배포 환경에 따라 Amazon Web Services와 같은 클라우드 솔루션의 서비스를 조합하여 사용할 수도 있습니다. AWS Elastic Beanstalk 같은 서비스를 활용하는 방법에 대한 정보는 여기서 참조하실 수 있습니다.

더 궁금한 점이 있으면 언제든지 연락 주세요!

공부맛있다님의 프로필 이미지
공부맛있다

작성한 질문수

질문하기