DNS / Load Balancer

박찬효·2022년 10월 21일
0

DNS 란?

DNS란 Domain Name System의 약자입니다,

이때 Domain 즉, 도메인은 쉽게 예를 들자면 www.naver.com을 의미합니다.
인터넷에 연결되어 있는 장치들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데 이를 IP주소라고 하며, IP주소는 127.0.0.1 같은 숫자 형식으로 되어 있는데 이것은 사람이 일일이 기억하기에 불편함을 가지고 있습니다. 이러한 불편함을 해소하기 위해 도메인이 등장하게 되어 있는데 도메인은 이러한 숫자를 사람들이 기억하기 쉽게 이름을 부여한 것을 의미합니다. 이런 도메인 이름을 관리하는 것이 DNS 즉, Domain Name System이라 일컫습니다.

Load Balancer 란??

서버에 가해지는 트래픽을 여러대의 서버에게 균등하게 분산시켜주는 역할을 하는것이 Load Balancer입니다. 서버가 하나일 때 트래픽이 적으면 서버는 무사히 응답을 해줄 것이지만, 트래픽이 서버 한개로는 감당할 수 없는 양이 되는 순간 서버는 다운될 것이고, 서비스 또한 작동을 멈출 것입니다. 이러한 문제를 해결하기 위해서는 크게 두가지 방법이 있습니다.

서버의 인스턴스 성능을 올리는 스케일-업, 서버를 여러대로 나뉘어서 트래픽을 처리하는 스케일-아웃 방식이 있습니다. Load Balancer는 바로 스케일-아웃 방식입니다. 그리고 Load Balancer는 지속적으로 IP주소가 바뀌기 때문에 도메인 기반으로 사용해야 한다는 특징이 있습니다.

Load Balancer 주요기능

  1. NAT

  2. 터널링

    • 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 해주는 개념입니다.
    • 데이터를 캡슐화해 연결된 상호간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있습니다.
  3. DSR(Dynamic Source Routing protocol)

    • Load Balancer 사용 시 서버에서 클라이언트로 될도랑가는 경우 목적지 주소를 스위치의 IP주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념입니다.

Load Balancer 알고리즘

  1. 라운드 로빈

    • 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식 서버와의 연결이 오래 지속되지 않을 경우 적합합니다.
  2. 가중 라운드 로빈

    • 각 서버에 가중치를 매기고 가중치가 높은 서버에 요청을 우선적으로 배정하는 방식입니다.

    • 서버의 트래픽 처리 능력이 다를 경우에 사용됩니다.

  3. 최소 연결 방식

    • 요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 트래픽을 배정하는 방식입니다.

    • 서버에 들어온 트래픽들이 일정하지 않은 경우에 적합합니다.

  4. IP 해시 방식

    • 클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리하는 방식입니다.

    • 사용자가 항상 동일한 서버로 연결됩니다.

profile
개발자가 되기 위한 1인

0개의 댓글