-
로드벨런서 역할 및 특징Infra & Tools/Docker&K8s 2022. 8. 18. 14:20
서버가 클라이언트의 요청에 일관 되게 답변을 줘야한다.
일관이라는것은 네트워크 응답 속도 뿐만 아니라 도메인 , 서버에 요청한 데이터 등 다양한것이 있다.
사진 :https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903 i3->i7 : scale up , i3 x 1 -> i3 x 2 :scale-out 로드밸런서 트레픽의 부하를 분산 하는 역할도 있지만. 서버를 늘리는 scale out , 서버의 성능을 scale up 등이 있다.
로드밸런싱 알고리즘
1. 라운드로빈 방식(Round Robin Method)
-서버의 성능이 동일 하거나 비슷할때 사용 하는 방식 , 클라이언트의 요청이 들어 오는 순서대로 분배를 한다.
2. 가중 라운드로빈 방식(Weighted Round Robin Method)
- 서버의 성능이 상이할때 주로 사용한다 ,각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분합니다
3. IP 해시 방식(IP Hash Method)
-클라이언트의 IP 주소를 특정 서버로 매핑하여 , 사용자가 항상 동일한 서버로 연결되는 것을 보장합니다.
: 배포시마다 변경되는 ip 주소를 client 에서는 동일한 커스텀 도메인 ex) www.naver.com 와 같이 들어가게 도와 준다.
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
부하 분산 처리로 주로 사용되는 것은 : L4 로드밸런싱과 L7 로드밸런싱 이라 한다.
OSI 7 Layer 의 기준으로 L1,L2,,L7 와 같이 있으며
OSI 7 Layers 상위 계층으로 갈 수록 정교한 방식의 로드 벨런싱이 가능하며 하위의 방식을 포함한다.
AWS
L4LB : NLB
Transport 계층을 사용, IP 주소와 포트 번호 부하 분산이 가능
(Network Load Balancer)
- Client IP와 서버사이에 서버로 들어오는 트래픽은 Load Balancer를 통하고 나가는 트래픽은 Client IP와 직접 통신합니다.
- NLB는 할당한 Elastic IP 를 Static IP로 사용이 가능하여 DNS Name과 IP주소 모두 사용이 가능합니다.
- IP주소 + 포트번호를 보고 스위칭합니다.
데이터 안을 보지 않고 패킷레벨에서만 로드를 하기 때문에 속도가 빠르고 효율이 높고 , 가격이 저렴 합니다
L7LB :ALB
Application 계층을 사용, URL 또는 HTTP 헤더에서 부하 분산이 가능
(Aplication Load Balancer)
- Client IP와 서버사이에 들어오고 나가는 트래픽이 모두 Load Balancer 와 통신합니다. (Reverse Proxy)
- IP주소 + 포트번호 + 패킷 내용을 보고 스위칭합니다.
- ALB/CLB는 IP 주소가 변동되기 때문에 Client 에서 Access 할 ELB의 DNS Name을 이용하거나 NLB 를 앞에 둡니다.
- L7단을 지원하기 때문에 SSL ((Secure Sockets Layer)적용이 가능합니다.
CLB : ec2 instance 의 LB,,,,-> 지금은 거의 사용 x
'Infra & Tools > Docker&K8s' 카테고리의 다른 글
aws EFS and k8s (0) 2022.08.18 Container Service AWS ECS vs k8s (0) 2022.08.04 Docker-Network 기초 (0) 2022.07.14 Docker - Command (0) 2022.07.09 Docker 왕왕 기초 예제 (0) 2022.07.06