• [1] API Gateway에서 사용하는 로드밸런싱은 어떻게 작동하나요?

mermaidchart
https://www.mermaidchart.com/app/projects/06593307-e886-4db2-9942-38f4d04d1dcd/diagrams/d94c4553-edd2-44f2-a9e9-b3727b1f8ea8/version/v0.1/edit

API Gateway에서 로드밸런싱이 어떻게 작동하는지 🚀


로드밸런싱이란?

로드밸런싱은 한 가지 작업(요청)을 여러 "서버"로 골고루 나누어 처리하는 기술이에요.

  • 예를 들어, 피자집에 주문이 엄청 많이 들어왔는데, 직원이 한 명뿐이라면 너무 힘들겠죠? 🤯
  • 여러 직원이 있다면, 주문을 골고루 나누어 처리하면 모두 편하고 빠르게 일할 수 있어요! 😊
  • 여기서 주문을 "요청", 직원들을 "서버"라고 생각하면 됩니다.

API Gateway에서의 로드밸런싱

API Gateway는 클라이언트에서 들어오는 요청을 백엔드 서버들 사이에 골고루 분배합니다.
왜 필요할까요?

  1. 서버 과부하 방지: 한 서버에만 요청이 몰리면 서버가 느려지거나 다운됩니다.
  2. 성능 최적화: 요청을 나누면 전체 시스템이 더 빠르고 안정적으로 동작합니다.

로드밸런싱의 작동 방식

  1. 클라이언트 요청 도착

    • 클라이언트가 API Gateway에 요청을 보냅니다. (예: "주문 내역을 보여줘!")
    • API Gateway는 이 요청을 받을 때, 이를 처리할 적합한 백엔드 서버를 찾아야 합니다.
  2. 서버 선택

    • API Gateway는 준비된 여러 백엔드 서버 중 하나를 선택합니다.
    • 선택 기준은 다양한 알고리즘을 사용해 결정합니다.
  3. 요청 전달

    • 선택된 서버로 요청을 전달하고, 서버에서 작업이 끝나면 결과를 다시 클라이언트에 반환합니다.

로드밸런싱에서 사용하는 대표적인 알고리즘

  1. 라운드 로빈 (Round Robin)

    • 서버 리스트를 순서대로 돌면서 요청을 분배합니다.
      예: 요청 1 → 서버 A, 요청 2 → 서버 B, 요청 3 → 서버 C, ... 반복.

    예시

    • 서버 A, B, C가 있다면 요청이 이렇게 분배됩니다:
      1번째 요청 → A
      2번째 요청 → B
      3번째 요청 → C
      4번째 요청 → 다시 A

    📌 장점: 간단하고 공정하게 분배합니다.

  2. 가중 라운드 로빈 (Weighted Round Robin)

    • 성능이 좋은 서버에 더 많은 요청을 보내도록 설정합니다.
      예: 서버 A는 강력하고, 서버 B는 느리다면, A에 더 많은 요청을 보냅니다.

    📌 장점: 서버 능력에 따라 분배하므로 효율적입니다.

  3. 최소 연결 수 (Least Connections)

    • 현재 처리 중인 요청 수가 가장 적은 서버로 요청을 보냅니다.
    • 예: 서버 A는 10개의 요청 처리 중, 서버 B는 2개의 요청 처리 중이라면, B로 요청을 보냅니다.

    📌 장점: 부하가 적은 서버에 요청을 집중해 처리 속도를 높입니다.

  4. IP 해시 (IP Hash)

    • 클라이언트의 IP 주소를 기반으로 요청을 항상 같은 서버로 보냅니다.
    • 예: A라는 사용자의 요청은 항상 서버 A로, B라는 사용자의 요청은 항상 서버 B로.

    📌 장점: 사용자가 항상 같은 서버에 연결되므로, 세션 유지가 용이합니다.


쉽게 이해하는 예시

🍕 피자 가게에서의 로드밸런싱

  1. 라운드 로빈: 고객이 줄 서면 직원들이 순서대로 고객을 받는다.
  2. 가중 라운드 로빈: 더 빠르게 일하는 직원에게 고객을 더 많이 보낸다.
  3. 최소 연결 수: 고객 수가 적은 직원에게 새 고객을 보낸다.
  4. IP 해시: 고객이 항상 같은 직원(알고 있는 사람)에게만 주문한다.

API Gateway의 로드밸런싱의 장점

  1. 성능 최적화: 트래픽을 고르게 나누어 서버가 과부하 되지 않음.
  2. 확장성: 새로운 서버를 추가하면 자동으로 로드밸런싱에 포함 가능.
  3. 안정성: 하나의 서버에 문제가 생겨도 다른 서버가 요청을 처리할 수 있음.

핵심 요약

  • 로드밸런싱은 요청을 백엔드 서버들에 고르게 분배하여 시스템 성능과 안정성을 높이는 기술입니다.
  • API Gateway는 다양한 알고리즘(라운드 로빈, 최소 연결 등)을 사용해 요청을 효율적으로 나눕니다.
  • 이를 통해 사용자는 항상 빠르고 안정적인 서비스를 경험할 수 있습니다. 🚀

후속 추천 질문

  • [1] API Gateway에서 사용되는 서킷 브레이커란 무엇인가요?
  • [2] 클라우드 환경에서 로드밸런싱은 어떻게 구현되나요?
  • [3] 로드밸런싱과 캐시(Cache) 기술의 차이점은 무엇인가요?

번호를 입력하거나, 계속해서 대화를 이어가시면 됩니다.

profile
@mgkick

0개의 댓글