일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ip
- kubectl
- airflow
- kubernetes
- zookeeper
- CVAT
- Kafka
- OS
- jvm
- Network
- kubeadm
- PostgreSQL
- Spring
- docker
- Packet
- helm
- Vision
- Python
- log
- Operating System
- tcp
- aws s3
- Trino
- grafana
- CSV
- java
- AWS
- MAC address
- JavaScript
- EC2
Archives
- Today
- Total
JUST WRITE
Load Balancing 본문
Load Balancing
부하 분산
서비스가 원활하게 작동할 수 있도록 트래픽을 여러 서버로 분산, 나눠서 처리할 수 있게 해주는 기술
Load Balancing Algorithms
- Round Robin -> 가장 일반적인 알고리즘, 가중치에 따라 순차적으로 서버 분산.
- Least Connections -> 가장 접속 수가 적은 서버로 분산, 긴 Session(LDAP, SQL, TSE)에 적합.
- Least Time -> 응답시간이 빠르고 active인 Connection이 적은 쪽으로 분산.
- Hash -> Client IP, Clinet URL과 같은 Key를 기준으로 분산.
- Random with Two Choices -> 임의 2개 서버 선택 후 Least Time 알고리즘 적용하여 분산.
- URL_Parameter -> HTTP GET의 Parameter를 확인 후 설정한 조건에 의해 분배. 조건이 아니면 Round Robin
- HRD -> HTTP Header에서 hdr(<name>)으로 설정한 조건에 의해 분배. 조건이 아니면 Round Robin
- rdp-cookie -> TCP 요청에 대한 RDP 쿠키에 따라 분배. Frontend의 ACL 'req_rdp_cookie()'
Load Balancer
L2
Mac 주소를 바탕으로 Load Balancing
L3
IP 주소를 바탕으로 Load Balancing
L4
Transport Layer(IP, PORT)에서 Load Balancing
L7
Application Layer(Request)에서 Load Balancing - HTTP, HTTPS, FTP
Load Balancer 동작방식
Bridge/Transparent Mode
L4로 전달된 목적지 IP -> 실제 Server IP/MAC 주소 변조하여 목적지를 찾아가는 방식
- Request
- Request -> L4 -> NAT(IP/MAC 주소 변조) -> 실제 Server
- L4를 호출하면 중간에 NAT가 목적지 IP 주소를 실제 Server IP/MAC 주소도 변조
- Response
- Response -> NAT -> L4 -> 사용자
- 실제 Server에서 L4를 거치면서 출발지(source) IP 주소를 L4 가상 IP 주소로 변조
- 동일 네트워크 대역이므로 MAC 주소는 변조 X
Router Mode
Bridge/Transparent Mode와 유사하지만 출발지 MAC 주소도 변조
One Arm Mode
Request로 L4 스위치 IP로 접근.
L4가 클라이언트에게 받은 목적지 IP 주소를 L4 IP 주소 -> 실제 Server IP/MAC 주소로 변조
되돌아가는 IP는 L4의 IP pool의 IP 주소로 변조한다.
DSR(Direct Server Return) Mode
Server에서 Client로 응답 시, L4를 경유하지 않고 Direct로 응답하는 구조
[참고사이트]
728x90
반응형
'Network' 카테고리의 다른 글
SSL (0) | 2021.09.18 |
---|---|
HTTP vs HTTPS (0) | 2021.09.17 |
Session Clustering (0) | 2021.09.02 |
CSR vs SSR (0) | 2021.08.21 |
Web의 역사(1) (0) | 2021.08.20 |
Comments