[CS] Load Balancing (๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ)

→ ํ•œ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ถ€ํ•˜๊ฐ€ ์ง‘์ค‘๋˜์ง€ ์•Š๋„๋ก ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•ด ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๊ฐ€ ์ตœ์ ์˜ ํผํฌ๋จผ์Šค๋ฅผ ๋ณด์ผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ 

โ˜‘๏ธ ํŠธ๋ž˜ํ”ฝ ๋Œ€์ฒ˜๋ฐฉ๋ฒ•

  • Scale-up : ์„œ๋ฒ„ ์ž์ฒด์˜ ์„ฑ๋Šฅ์„ ํ™•์žฅ
  • Scale-out : ๊ธฐ์กด ์„œ๋ฒ„์™€ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‚ฎ์€ ์„ฑ๋Šฅ์˜ ์„œ๋ฒ„๋ฅผ ๋‘ ๋Œ€ ์ด์ƒ ์ฆ์„คํ•˜์—ฌ ์šด์˜ํ•˜๋Š” ๊ฒƒ

โ˜‘๏ธ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐฉ์‹)

  • ๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹ (Round Robin Method)
    • ์„œ๋ฒ„์— ๋“ค์–ด์˜จ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋ฉฐ ๋ฐฐ์ •ํ•˜๋Š” ๋ฐฉ์‹
    • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋ถ„๋ฐฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ์ŠคํŽ™์„ ๊ฐ–๊ณ  ์žˆ์Œ
    • ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ(์„ธ์…˜)์ด ์˜ค๋ž˜ ์ง€์†๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ํ™œ์šฉํ•˜๊ธฐ ์ ํ•ฉ
  • ๊ฐ€์ค‘ ๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹ (Weighted Round Robin Method)
    • ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๋งˆ๋‹ค ๊ฐ€์ค‘์น˜๋ฅผ ๋งค๊ธฐ๊ณ  ๊ฐ€์ค‘์น˜๊ฐ€ ๋†’์€ ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์šฐ์„ ์ ์œผ๋กœ ๋ฐฐ๋ถ„
    • ์ฃผ๋กœ ์„œ๋ฒ„์˜ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ์ƒ์ดํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹
  • IP ํ•ด์‹œ ๋ฐฉ์‹ (IP Hash Method)
    • ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ๋ฅผ ํŠน์ • ์„œ๋ฒ„๋กœ ๋งคํ•‘ํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹
    • ์‚ฌ์šฉ์ž์˜ IP๋ฅผ ํ•ด์‹ฑํ•ด ๋กœ๋“œ๋ฅผ ๋ถ„๋ฐฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅ
    • โœ… ํ•ด์‹ฑ(Hashing) : ์ž„์˜์˜ ๊ธธ์ด๋ฅผ ์ง€๋‹Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ, ๋˜๋Š” ๊ทธ๋Ÿฌํ•œ ํ•จ์ˆ˜
  • ์ตœ์†Œ ์—ฐ๊ฒฐ ๋ฐฉ์‹ (Least Connection Method)
    • ์š”์ฒญ์ด ๋“ค์–ด์˜จ ์‹œ์ ์— ๊ฐ€์žฅ ์ ์€ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ๋ณด์ด๋Š” ์„œ๋ฒ„์— ์šฐ์„ ์ ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฐ๋ถ„
    • ์ž์ฃผ ์„ธ์…˜์ด ๊ธธ์–ด์ง€๊ฑฐ๋‚˜, ์„œ๋ฒ„์— ๋ถ„๋ฐฐ๋œ ํŠธ๋ž˜ํ”ฝ๋“ค์ด ์ผ์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ ํ•ฉ
  • ์ตœ์†Œ ๋ฆฌ์Šคํฐํƒ€์ž„ (Least Response Time Method)
    • ์„œ๋ฒ„์˜ ํ˜„์žฌ ์—ฐ๊ฒฐ ์ƒํƒœ์™€ ์‘๋‹ต์‹œ๊ฐ„์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฐ๋ถ„
    • ๊ฐ€์žฅ ์ ์€ ์—ฐ๊ฒฐ ์ƒํƒœ์™€ ๊ฐ€์žฅ ์งง์€ ์‘๋‹ต์‹œ๊ฐ„์„ ๋ณด์ด๋Š” ์„œ๋ฒ„์— ์šฐ์„ ์ ์œผ๋กœ ๋กœ๋“œ๋ฅผ ๋ฐฐ๋ถ„ํ•˜๋Š” ๋ฐฉ์‹
    • โœ… ์‘๋‹ต์‹œ๊ฐ„(Response Time) : ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์ตœ์ดˆ ์‘๋‹ต์„ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„

โ˜‘๏ธ L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ⇒ ๊ฐ€์žฅ ๋งŽ์ด ํ™œ์šฉ!

  • L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ถ€ํ„ฐ ํฌํŠธ(Port)์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋Œ€์˜ ์„œ๋ฒ„์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์šด์˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์ตœ์†Œ L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ด์ƒ์„ ์‚ฌ์šฉํ•ด์•ผ๋งŒ ํ•จ.

 

  L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ
๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ „์†ก๊ณ„์ธต (Transport Layer) ์‘์šฉ๊ณ„์ธต (Application Layer)
ํŠน์ง• TCP/UDP ํฌํŠธ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•จ TCP/UDP + HTTP์˜ URI, FTP์˜ ํŒŒ์ผ๋ช…, ์ฟ ํ‚ค ์ •๋ณด ๋“ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•จ
์žฅ์  - ๋ฐ์ดํ„ฐ ์•ˆ์„ ๋“ค์—ฌ๋‹ค๋ณด์ง€ ์•Š๊ณ  ํŒจํ‚ท ๋ ˆ๋ฒจ์—์„œ๋งŒ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ํšจ์œจ์ด ๋†’์Œ
- ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™”ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ์— ์•ˆ์ „ํ•จ
- L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ณด๋‹ค ๊ฐ€๊ฒฉ์ด ์ €๋ ดํ•จ
- ์ƒ์œ„ ๊ณ„์ธต์—์„œ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋” ์„ฌ์„ธํ•œ ๋ผ์šฐํŒ…์ด ๊ฐ€๋Šฅํ•จ
- ์บ์‹ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ
- ๋น„์ •์ƒ์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์ „์— ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด ์„œ๋น„์Šค ์•ˆ์ •์„ฑ์ด ๋†’์Œ
๋‹จ์  - ํŒจํ‚ท์˜ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์„ฌ์„ธํ•œ ๋ผ์šฐํŒ…์ด ๋ถˆ๊ฐ€๋Šฅํ•จ
- ์‚ฌ์šฉ์ž์˜ IP๊ฐ€ ์ˆ˜์‹œ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์—ฐ์†์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์–ด๋ ค์›€
- ํŒจํ‚ท์˜ ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™”ํ•ด์•ผ ํ•˜๊ธฐ์— ๋” ๋†’์€ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ•จ
- ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์™€ ์ธ์ฆ์„œ๋ฅผ ๊ณต์œ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์ž๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ†ตํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋ณด์•ˆ ์ƒ์˜ ์œ„ํ—˜์„ฑ์ด ์กด์žฌํ•จ

'CS > Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[CS] Blocking I/O & Non-Blocking I/O  (1) 2024.01.30
[CS] Blocking/Non-blocking & Synchronous/Asynchronous  (1) 2024.01.30
[CS] TLS/SSL HandShake  (0) 2024.01.26
[CS] HTTP & HTTPS  (0) 2024.01.26
[CS] ๋Œ€์นญํ‚ค & ๊ณต๊ฐœํ‚ค  (1) 2023.11.29