도메인은 웹 브라우저에서 사이트에 접속할 때, IP 주소 대신 문자(영문,한글 등)로 만든 주소이다.
원래의 IP주소를 도메인으로 바꾸거나, 도메인을 다시 IP 주소로 바꿔주는 데이터베이스 시스템이라고 할 수 있다.
연결되어있는 IP 주소와 도메인이 저장되는 곳이라고 할 수 있다.
DNS서버를 다른 말로 네임서버라고도 한다.
클라이언트가 한두 명이라면 서버는 우리에게 여유롭게 응답을 줄 수 있다. 하지만 클라이언트가 기하급수적으로 늘어나게 되면 서버에 무리가 간다.
이러한 방법을 해결하기 위해 생각할 수 있는 방법은 Scale-up(서버의 인스턴스 성능을 올린다.), Scale-out(서버를 여러대로 나눠서 트래픽을 처리한다.)이 있다.
로드밸런서는 Scale-out 방식이며, 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러대의 서버로 분산 처리해주는 서비스이다.
라운드 로빈
서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식이다.
서버와의 연결이 오래 지속되지 않을 경우 적합하다.
가중 라운드 로빈
각 서버에 가중치를 매기고 가중치가 높은 서버에 요청을 우선적으로 배정한다.
서버의 트래픽 처리 능력이 다를 경우에 사용한다.
최소 연결 방식
요청이 들어온 시점에 가장 적은 연결 상태를 보이는 서버에 트래픽을 배정하는 방식이다.
서버에 들어온 트래픽들이 일정하지 않은 경우에 적합하다.
IP 해시 방식
클라이언트의 IP 주소를 특정 서버로 매핑하여 요청을 처리하는 방식이다.
사용자가 항상 동일한 서버로 연결된다.
L2
맥 주소를 바탕으로 Load Balancing 한다.
L3
IP 주소를 바탕으로 Load Balancing 한다.
L4
전송 계층에서 Load Balancing 한다.(IP와 PORT)
데이터를 변경, 수정 할 수 없다.
패킷 레벨에서만 트래픽을 분산하기 때문에 속도가 빠르고 효율이 높습니다.
섬세한 라우팅이 불가능하지만 L7로드 밸런서보다 가격이 저렴하다.
L7
응용 계층에서 Load Balancing 한다.
포트나 헤더등의 정보를 수정 할 수 있다.
패킷 내용을 확인하고 그 내용에 따라 트래픽을 특정 서버에 분산하는 것이 가능하다.
섬세한 라우팅이 가능하고, 비정상적인 트래픽을 필터링 할 수 있다.
패킷의 내용을 복호화 하기 때문에 비용이 더 많이 든다.
참고한 사이트 :
https://nack1400.tistory.com/21
https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-%EB%8F%84%EB%A9%94%EC%9D%B8%EA%B3%BC-dns-%EB%84%A4%EC%9E%84%EC%84%9C%EB%B2%84%EB%9E%80-%EA%B0%9C%EB%85%90%ED%8E%B8/
https://yoo11052.tistory.com/63
https://nesoy.github.io/articles/2018-06/Load-Balancer