14. 로드 밸런싱: L4 vs L7, 세션 어피니티, 일관 해싱, 헬스체크

난이도 중 해설 보기 →
문제

문제 14 — 로드 밸런싱: L4 vs L7, 세션 어피니티, 일관 해싱, 헬스체크

게임 서비스의 접속 게이트웨이 앞단에 로드 밸런서(LB)를 두려고 한다. 다음을 설명하라.

  1. L4 vs L7 로드 밸런싱의 차이는 무엇인가? 각각 무엇을 보고(어느 계층 정보로) 분배하며, 장단점은? 실시간 게임의 장수명 TCP/UDP 연결에는 어느 쪽이 더 자연스러운가?

  2. 분배 알고리즘 — 라운드로빈, 가중 라운드로빈, 최소 연결(least connections), IP/해시 기반, 일관 해싱(consistent hashing) 을 비교하라. 일관 해싱이 "서버 추가/제거 시 재배치 최소화"를 어떻게 달성하는지, 단순 hash % N 과 무엇이 다른지 설명하라.

  3. 세션 어피니티(sticky session) — 한 클라이언트를 같은 백엔드로 계속 보내야 하는 이유가 게임에서 왜 큰가? 스티키를 구현하는 방법(5-튜플 해시, L7 쿠키, 일관 해싱)과 각자의 한계(서버 증설/축소 시 재분배, 상태 유실)를 논하라.

  4. 헬스체크와 드레이닝 — 액티브 헬스체크와 패시브(아웃라이어 감지)의 차이, 비정상 노드를 빼는 절차, 그리고 배포 시 기존 연결을 끊지 않고 빼는 드레이닝/graceful 처리는 어떻게 하나?

  5. 게임 특유의 고려 — 게이트웨이/매치메이커처럼 "상태가 있는(stateful)" 서버를 다룰 때, 단순 stateless HTTP LB와 무엇이 달라지는가? "방(room)·인스턴스는 특정 서버가 소유"하는 구조에서 LB가 아니라 디렉터리/라우팅 테이블 로 보내야 하는 트래픽은 무엇인가? (DSR(Direct Server Return)이 대역폭에 주는 이점도 간단히.)

답안 작성
내 답안 · 자동 저장

직접 답을 작성한 뒤, 위 해설 보기에서 모범답안과 대조하세요.