작업에서의로드 밸런싱
1) 운영 팀이 균형을 관리해야하는 이유
로드 밸런싱은 쿼리 분포에 관한 것이 아닙니다. 이는 실패 반경 제한, 예측 가능한 대기 시간, 규모 경제, "잡음 이웃" 격리, SLO 실행 및 사고 비용에 직접적인 영향을 미치는 위험 및 성능 관리 계층입니다.
2) 밸런싱 레이어: 네트워크-비즈니스 운영
L3/L4 (IP/port): 간단하고 빠른 (DSR, ECMP, IPVS, LVS). 할 수 없습니다.
L7 (컨트롤/gRPC/웹 소켓): 경로/헤더/메타 데이터 라우팅; 카나리아, A/B, 지리 및 고객 인식 정책.
GSLB/GeoDNA/Anycast: 지역/RoR 별 글로벌 배포, 지연, 근접 및 지역 건강 설명.
서비스 내 균형: 서비스 검색 (xDS, Consul, Eureka), 클라이언트 밸런서 (gRPC pick _ first/round _ robin), 서비스 메시가있는 클라이언트.
3) 배포 알고리즘과 적용 시점
라운드 로빈 (RR): 균질 한 노드 및 짧은 쿼리에 대한 간단한 기본 사례.
최소 연결 (LC): 쿼리 기간에 따라 다릅니다.
최소 요청/피크 EWMA: "긴" 요청 및 소음에 대한 대기 시간을 적응적으로 줄입니다.
가중 RR/LC: 노드의 거듭 제곱 또는 "비용 가드 레일" 을 고려합니다.
일관된 해싱 (Rendezvous/Maglev): 끈적 끈적한 키 (사용자, 테이블/방, 바구니) 의 경우 스케일링시 재 라우팅이 줄어 듭니다.
두 선택의 힘: 원격 측정이 적은 높은 하중에서 우수한 LC 근사.
헤지/재시도 예산 요청: p99에 대한 예산을 재조정하는 병렬 캐치 업 요청.
4) 세션, 상태 및 끈적 끈적함
끈적 끈적한 세션 (쿠키/IP/식별자) - 캐시가 로컬로 채워 지거나 스테이트 컨텍스트 (예: iGaming의 라이브 테이블) 가있을 때.
단점: 핫스팟 효과, 노드를 대피하는 것이 더 어렵습니다.
솔루션: 짧은 TTL 끈적 끈적함, 외부 상점으로의 상태 전송 (Redis, 세션 상점), 가능한 경우 공유 및 이벤트 소싱.
5) 플 래핑에 대한 건강 점검 및 보호
200 성공 대신 L7 컨텐츠 검사 (본문/헤더로 평가).
결합 된 샘플: 다른 타임 아웃과 함께
Debowns: n 실패 → 예외; m 성공 → 수영장으로 돌아갑니다.
이상 감지-오류율/대기 시간이 높은 노드를 자동으로 제외합니다 (배출).
6) 시간 초과, 재 트레이 및 역압 정책
예산 지향 재조정: 총 사용자 시간 제한 (예: 800 ms SLA → 검색 가능 2 × 200 ms + 마진).
회로 차단기: 동시 요청/연결/오류를 제한합니다.
Quotas/Rate Limits: 가장자리의 기본 "임차인/IP 당/키 당" 제한.
서버 측 큐잉: 대기 시간의 꼬리를 "오버 클럭" 하지 않도록 명백한 열화로 짧은 대기열 또는 고장.
7) 글로벌 밸런싱 및 내결함
지리 라우팅: 대기 시간 기반, 고객 지역, 건강.
모든 캐스트 + 건강 프로브: PoP가 떨어지면 경로의 즉각적인 수렴.
실패 계층: RoR → 지역 → oblako; 차가운/따뜻한/뜨거운 DR.
교통 분할: 제품/법적 격리 (국가, 지불 제공 업체, VIP 세그먼트).
8) 스레드 및 실시간 밸런싱
WebSocket/SSE/gRPC 스트림: 장기 연결 → 연결/노드를 모니터링하고 스케일 아웃에서 재분배합니다.
일관된 해싱을 통해 사용자 또는 방/테이블별로 끈적 끈적합니다.
배수/PreStop 후크: 릴리스 및 오토 스케일 중에 연결을 올바르게 제거합니다.
9) 주변의 보안
TLS 종료, HSTS, ALPN; 동서를위한 mTLS.
응용 프로그램 밸런서에 대한 WAF/봇 관리.
DDoS-보이지 않는 사람들은 이렇게 말합니다.
코드로서의 정책 (OPA/Kyverno/Envoy RBAC).
10) 균형을위한 관찰 및 SLO
SLI: 성공적인 요청, 오류/초, p50/p95/p99 대기 시간, 포화 (CPU/conn/epoll).
백엔드 당 메트릭: 요청 속도, 오류율, EWMA 대기 시간 → 알고리즘 입력.
L7 로그: 릴리스 (주석), 기능 플래그, 카나리아와 관련이 있습니다.
Allerts: 오류 예산의 연소율과 클라이언트의 증상 (외부 합성) 에 따라.
11) 자동 스케일링 및 비용 효율성
HPA/VPA/KEDA: RPS, 대기열, 사용자 지표 별 스케일링.
비용 별 가중 라우팅: 저렴한 지역/구름은 정상적인 하중에서 더 많은 무게를받습니다.
따뜻한 수영장/가열: 콜드 스타트를 "잡지" 않도록 사전 예열 된 표본.
12) 관리 변경: 카나리아, 그림자, 청록색
카나리아 라우팅: SLO 열화시 자동 정지로 1% → 5% → 25%.
그림자 트래픽: 클라이언트에 응답하지 않고 새 버전에 대한 중복 요청 (검증).
Blue-Green: VIP/라우팅 테이블 인스턴트 스위칭; 빠른 롤백.
13) 설정 및 GitOps
저장소에서 경로, 가중치, 시간 초과 및 제한 정책의 단일 원천.
동일한 파이프 라인에서 수요일 (dev→ stage → prod) 구성 프로모션.
검증 및 구성 테스트: 라인터, 드라이 런, 트래픽 맵 시뮬레이션.
14) 개인 사례 (규제 도메인)
결제/CCS 제공 업체: 병렬 채널, 품질/응답 시간별 전환; 공급자 당 SLO.
다중 관할 구역: 국가 별 지리 라우팅, 컨텐츠/제한 정책.
VIP 세그먼트: 개별 가중치/채널, 높은 SLO, UX 저하 "핸들".
15) 반 패턴
"단일 실패 지점" 으로 하나의 밸런서.
NAT- "끈적 끈적한" 클러스터 및 트래픽 왜곡 뒤에 IP보다 끈적 끈적합니다.
무거운/긴 요청을위한 범용 RR-p99 꼬리 성장.
예산이없고 dempotency가없는 후퇴는 요청의 폭풍입니다.
응용 프로그램이 작동하지 않을 때 TCP- "녹색" 만 체크하십시오.
TTL이없는 "영원한" 접착 세션-노드를 대피 할 수 없습니다.
조짐은 검토 및 홍보없이 수동으로 편집됩니다-드리프트 및 사건.
16) 구현 점검표
- 선택된 수준: L4/L7/GSLB, 정의 된 목표 및 책임.
- 분포 알고리즘은로드 프로파일 (EWMA/LC/Hash) 에 해당합니다.
- 스테이트 풀 컨텍스트가 필요한 일관된 해싱.
- 결합 된 건강 검진, 특이 치 배출, 폭발.
- 시간 예산이있는 코드와 같은 시간 초과/퇴각/제한.
- 백엔드 당 관찰 가능성 및 클라이언트 합성; 화상 경보.
- 카나리아/청록색 + 그림자 트래픽; 빠른 롤백.
- 구성 요소를위한 GitOps; 드라이 런 및 경로 테스트.
- DR 계획 및 장애 계층 (RoR → 지역 → oblako).
- VIP/법률 코호트 및 공급자의 격리.
17) 건축 흐름의 예
1. GSLB (대기 시간 기반) 는 클라이언트를 가장 가까운 건강한 지역으로 안내합니다.
2. Edge/L7 밸런서는 WAF, TLS, 요율 제한, 5% 카나리아를 적용합니다.
3. 서비스 메쉬는 특이 치를 제외한 LC + EWMA와 함께 피치에 분배됩니다.
4. 실시간 테이블의 경우-' table _ id '에 의한 일관된 해싱, 끈적 끈적한 TTL 10 분.
5. HPA 스케일은 RPS와 대기열에 걸쳐 있습니다. 따뜻한 수영장 → 콜드 스타트 없음.
6. 관찰 가능성: 대시 보드 p50/p95/p99, 오류율, 포화, 연소 율.
7. 성능 저하의 경우: 자동 배출 노드, 카나리아 감소, 예비 공급 업체로 전환, 버전 롤백.
18) 결론
로드 밸런싱은 네트워크, 응용 프로그램, 데이터 및 비즈니스 SLO를 연결하는 운영 분야입니다. 적절하게 선택된 레벨 (L4/L7/GSLB), 적절한 알고리즘, 엄격한 건강 점검, 타임 아웃 및 재 트레이 정책, 관찰 및 GitOps 관리는 "설정이있는 상자" 에서 지속 가능하고 경제적 인 서비스 제공 메커니즘으로 균형을 잡습니다.