관리 메뉴

Suhee Coding Archive

[λ„€νŠΈμ›Œν¬] λ‘œλ“œλ°ΈλŸ°μ‹± λ³Έλ¬Έ

CS

[λ„€νŠΈμ›Œν¬] λ‘œλ“œλ°ΈλŸ°μ‹±

sueee_y 2023. 1. 3. 21:23

πŸ‘‰ λ‘œλ“œ λ°ΈλŸ°μ‹±μ΄λž€ 

λ‘œλ“œ λ°ΈλŸ°μ‹±μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ§€μ›ν•˜λŠ” λ¦¬μ†ŒμŠ€ ν’€ 전체에 λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ κ· λ“±ν•˜κ²Œ λ°°ν¬ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.  λ‘œλ“œ λ°ΈλŸ°μ„œλŠ” μ‚¬μš©μžμ™€ μ„œλ²„ κ·Έλ£Ή 사이에 μœ„μΉ˜ν•˜λ©° 보이지 μ•ŠλŠ” μ΄‰μ§„μž 역할을 ν•˜μ—¬ λͺ¨λ“  λ¦¬μ†ŒμŠ€ μ„œλ²„κ°€ λ™μΌν•˜κ²Œ μ‚¬μš©λ˜λ„λ‘ ν•˜λŠ” λ””λ°”μ΄μŠ€μž…λ‹ˆλ‹€.

 

πŸ‘‰ λ‘œλ“œ λ°ΈλŸ°μ‹± μž₯점

- ν•œ μ„œλ²„μ—μ„œ νŠΈλž˜ν”½ 병λͺ© ν˜„μƒ λ°©μ§€

- νŠΈλž˜ν”½ λͺ¨λ‹ˆν„°λ§ 및 μ•…μ„± μ½˜ν…μΈ  차단

- 곡격 νŠΈλž˜ν”½μ„ μ—¬λŸ¬ λ°±μ—”λ“œ μ„œλ²„λ‘œ μžλ™μœΌλ‘œ λ¦¬λ””λ ‰μ…˜ν•˜μ—¬ 영ν–₯ μ΅œμ†Œν™”

- μ„œλ²„ 간에 λ‘œλ“œλ₯Ό κ· λ“±ν•˜κ²Œ λ°°ν¬ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„±λŠ₯ ν–₯상

- ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ μ§€λ¦¬μ μœΌλ‘œ 더 κ°€κΉŒμš΄ μ„œλ²„λ‘œ λ¦¬λ””λ ‰μ…˜ν•˜μ—¬ μ§€μ—° μ‹œκ°„ 단좕

 

πŸ‘‰ λ‘œλ“œ λ°ΈλŸ°μ‹± μ•Œκ³ λ¦¬μ¦˜

λ‘œλ“œ λ°ΈλŸ°μ‹± μ•Œκ³ λ¦¬μ¦˜μ€ λ‘œλ“œ λ°ΈλŸ°μ„œκ°€ μ„œλ‘œ λ‹€λ₯Έ ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ 각각에 κ°€μž₯ μ ν•©ν•œ μ„œλ²„λ₯Ό κ²°μ •ν•˜κΈ° μœ„ν•΄ λ”°λ₯΄λŠ” κ·œμΉ™

 

정적 λ‘œλ“œ λ°ΈλŸ°μ‹±

정적 λ‘œλ“œ λ°ΈλŸ°μ‹± μ•Œκ³ λ¦¬μ¦˜μ€ κ³ μ •λœ κ·œμΉ™μ„ λ”°λ₯΄λ©° ν˜„μž¬ μ„œλ²„ μƒνƒœμ™€ 무관

1.λΌμš΄λ“œλ‘œλΉˆ 방식(Round Robin Method)

μ„œλ²„μ— λ“€μ–΄μ˜¨ μš”μ²­μ„ μˆœμ„œλŒ€λ‘œ λŒμ•„κ°€λ©° λ°°μ •ν•˜λŠ” 방식이닀. ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ μˆœμ„œλŒ€λ‘œ λΆ„λ°°ν•˜κΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ λŒ€μ˜ μ„œλ²„κ°€ λ™μΌν•œ μŠ€νŽ™μ„ κ°–κ³  있고, μ„œλ²„μ™€μ˜ μ—°κ²°(μ„Έμ…˜)이 였래 μ§€μ†λ˜μ§€ μ•ŠλŠ” κ²½μš°μ— ν™œμš©ν•˜κΈ° μ ν•©ν•©λ‹ˆλ‹€.

2.가쀑 λΌμš΄λ“œλ‘œλΉˆ 방식(Weighted Round Robin Method)

각각의 μ„œλ²„λ§ˆλ‹€ κ°€μ€‘μΉ˜λ₯Ό λ§€κΈ°κ³  κ°€μ€‘μΉ˜κ°€ 높은 μ„œλ²„μ— ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ μš°μ„ μ μœΌλ‘œ λ°°λΆ„ν•œλ‹€. 주둜 μ„œλ²„μ˜ νŠΈλž˜ν”½ 처리 λŠ₯λ ₯이 μƒμ΄ν•œ 경우 μ‚¬μš©λ˜λŠ” λΆ€ν•˜ λΆ„μ‚° λ°©μ‹μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ AλΌλŠ” μ„œλ²„κ°€ 5λΌλŠ” κ°€μ€‘μΉ˜λ₯Ό κ°–κ³  BλΌλŠ” μ„œλ²„κ°€ 2λΌλŠ” κ°€μ€‘μΉ˜λ₯Ό κ°–λŠ”λ‹€λ©΄, λ‘œλ“œ λ°ΈλŸ°μ„œλŠ” λΌμš΄λ“œλ‘œλΉˆ λ°©μ‹μœΌλ‘œ A μ„œλ²„μ— 5개 B μ„œλ²„μ— 2개의 μš”μ²­μ„ μ „λ‹¬ν•©λ‹ˆλ‹€.

3.IP ν•΄μ‹œ 방식(IP Hash Method)

ν΄λΌμ΄μ–ΈνŠΈμ˜ IP μ£Όμ†Œλ₯Ό νŠΉμ • μ„œλ²„λ‘œ λ§€ν•‘ν•˜μ—¬ μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. μ‚¬μš©μžμ˜ IPλ₯Ό ν•΄μ‹±ν•΄(Hashing, μž„μ˜μ˜ 길이λ₯Ό μ§€λ‹Œ 데이터λ₯Ό κ³ μ •λœ 길이의 λ°μ΄ν„°λ‘œ λ§€ν•‘ν•˜λŠ” 것, λ˜λŠ” κ·ΈλŸ¬ν•œ ν•¨μˆ˜) λ‘œλ“œλ₯Ό λΆ„λ°°ν•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©μžκ°€ 항상 λ™μΌν•œ μ„œλ²„λ‘œ μ—°κ²°λ˜λŠ” 것을 보μž₯ν•©λ‹ˆλ‹€.

동적 λ‘œλ“œ λ°ΈλŸ°μ‹± 

동적 λ‘œλ“œ λ°ΈλŸ°μ‹± μ•Œκ³ λ¦¬μ¦˜μ€ νŠΈλž˜ν”½μ„ λ°°ν¬ν•˜κΈ° 전에 μ„œλ²„μ˜ ν˜„μž¬ μƒνƒœλ₯Ό 검사

1.μ΅œμ†Œ μ—°κ²° 방식(Least Connection Method)

μš”μ²­μ΄ λ“€μ–΄μ˜¨ μ‹œμ μ— κ°€μž₯ 적은 μ—°κ²°μƒνƒœλ₯Ό λ³΄μ΄λŠ” μ„œλ²„μ— μš°μ„ μ μœΌλ‘œ νŠΈλž˜ν”½μ„ λ°°λΆ„ν•©λ‹ˆλ‹€. 자주 μ„Έμ…˜μ΄ κΈΈμ–΄μ§€κ±°λ‚˜, μ„œλ²„μ— λΆ„λ°°λœ νŠΈλž˜ν”½λ“€μ΄ μΌμ •ν•˜μ§€ μ•Šμ€ κ²½μš°μ— μ ν•©ν•œ λ°©μ‹μž…λ‹ˆλ‹€.

2.μ΅œμ†Œ 응닡 μ‹œκ°„ 방식(Least Response Time Method)

μ„œλ²„μ˜ ν˜„μž¬ μ—°κ²° μƒνƒœμ™€ 응닡 μ‹œκ°„(Response Time, μ„œλ²„μ— μš”μ²­μ„ 보내고 졜초 응닡을 받을 λ•ŒκΉŒμ§€ μ†Œμš”λ˜λŠ” μ‹œκ°„)을 λͺ¨λ‘ κ³ λ €ν•˜μ—¬ νŠΈλž˜ν”½μ„ λ°°λΆ„ν•©λ‹ˆλ‹€. κ°€μž₯ 적은 μ—°κ²° μƒνƒœμ™€ κ°€μž₯ 짧은 응닡 μ‹œκ°„μ„ λ³΄μ΄λŠ” μ„œλ²„μ— μš°μ„ μ μœΌλ‘œ λ‘œλ“œλ₯Ό λ°°λΆ„ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

3. λ¦¬μ†ŒμŠ€ 기반 방법

λ¦¬μ†ŒμŠ€ 기반 λ°©λ²•μ—μ„œ λ‘œλ“œ λ°ΈλŸ°μ„œλŠ” ν˜„μž¬ μ„œλ²„ λΆ€ν•˜λ₯Ό λΆ„μ„ν•˜μ—¬ νŠΈλž˜ν”½μ„ λ°°ν¬ν•©λ‹ˆλ‹€.

 

πŸ‘‰ L4 λ‘œλ“œ λ°ΈλŸ°μ‹± VS L7 λ‘œλ“œ λ°ΈλŸ°μ‹±

L4 Load BalancerλŠ” IP, Port λ₯Ό κΈ°μ€€μœΌλ‘œ μŠ€μΌ€μ€„λ§ μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 λΆ€ν•˜λ₯Ό λΆ„μ‚°ν•©λ‹ˆλ‹€.

ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ λ‘œλ“œλ°ΈλŸ°μ„œ(DNS)둜 μš”μ²­μ„ λ³΄λƒˆμ„ λ•Œ 졜적의 μ„œλ²„λ‘œ μš”μ²­μ„ μ „μ†‘ν•˜κ³  κ²°κ³Όλ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ€λ‹ˆλ‹€. 즉, μš”μ²­ν•˜λŠ” μ„œλΉ„μŠ€μ˜ μ’…λ₯˜μ™€ 상관 없이 곡μž₯을 μ—¬λŸ¬ 개 λŒλ¦¬λŠ” κ²ƒμž…λ‹ˆλ‹€. 

 

L7 Load BalancerλŠ” L7 μœ„μ—μ„œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ— IP, Port 이외에도 URI, Payload, Http Header, Cookie λ“±μ˜ λ‚΄μš©μ„ κΈ°μ€€μœΌλ‘œ λΆ€ν•˜λ₯Ό λΆ„μ‚°ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ μ½˜ν…μΈ  기반 μŠ€μœ„μΉ­μ΄λΌκ³ λ„ ν•©λ‹ˆλ‹€.

 

L4 Load BalancerλŠ” 단지 λΆ€ν•˜λ₯Ό λΆ„μ‚°μ‹œν‚€λŠ” 것이라면, L7 Load BalancerλŠ” μš”μ²­μ˜ 세뢀적인 사항을 두고 결제만 λ‹΄λ‹Ήν•˜λŠ” μ„œλ²„, νšŒμ›κ°€μž…λ§Œμ„ λ‹΄λ‹Ήν•˜λŠ” μ„œλ²„ λ“±μœΌλ‘œ λΆ„λ¦¬ν•΄μ„œ 가볍고 μž‘μ€ λ‹¨μœ„λ‘œ μ—¬λŸ¬ 개의 μ„œλΉ„μŠ€λ₯Ό μš΄μ˜ν•˜κ³  μš”μ²­μ„ 각각의 μ„œλ²„μ— λΆ„μ‚°ν•  수 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€.   

 

L7 Load BalancerλŠ” L4 Load Balancer와 λ‹€λ₯΄κ²Œ 데이터λ₯Ό λΆ„μ„ν•΄μ„œ μ²˜λ¦¬κ°€ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— μ•…μ˜μ μ΄κ±°λ‚˜ λΉ„ 정상적인 μ½˜ν…μΈ λ₯Ό 감지해 λ³΄μ•ˆ 지점을 ꡬ좕할 μˆ˜λ„ μžˆλŠ” μž₯점이 있고, κ·Έ 만큼 μžμ› μ†Œλͺ¨κ°€ ν¬λ‹€λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€.

Comments