학습목표
- Nginx 기반의 로드밸런싱 패턴을 이용한 API Gateway 고가용성 구조를 설계할 수 있다.
- Spring Reactor 기반의 비동기 Gateway에서 Resilience4j를 적용해 장애 상황을 처리할 수 있다.
Nginx를 사용한 로드밸런싱(Load Balancing)
로드 밸런싱이란?
로드 밸런싱은 서버의 부하를 여러 대의 서버에 효율적으로 분산하는 기술 또는 장치입니다. 이러한 분산 방식을 통해 무중단 서비스와 배포가 가능해지며, 일부 서버에 장애가 발생하더라도 클라이언트는 서비스 중단을 인지하지 못하고 지속적으로 서비스를 이용할 수 있습니다.
하드웨어에서의 로드밸런싱
L4 로드 밸런서
특징
- 4 계층 - 네트워크 계층(IP, IPX)이나 3 계층 - 전송 계층(TCP, UDP) 의 정보를 바탕으로 로드를 분산.
- IP 주소, 포트번호, MAC 주소, 전송 프로토콜 등에 따라 트래픽을 분산하는 것이 가능.
장점
- 패킷의 내용을 확인하지 않고 로드를 분산하므로 속도가 빠르고 효율이 높음.
- 데이터의 내용을 복호화할 필요가 없기에 안전.
- L7 로드밸런서보다 가격이 저렴.
단점