Load Balancing

์„œ๋ฒ„์— ํ•œ๋ฒˆ์— ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆฌ๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ์„œ๋ฒ„๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‘ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์–ด ๋ถ€ํ•˜๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ํŠธ๋ž˜ํ”ฝ์ด ์–ด๋А ํ•œ ์„œ๋ฒ„์— ๋ชฐ๋ฆฌ์ง€ ์•Š๋„๋ก ์ ์ ˆํžˆ ๋ถ„๋ฐฐํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์„ ๋ฐ”๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด๋ผ๊ณ  ํ•œ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ์ฆ์„คํ•˜๋Š” ๊ฒƒ์„ Scale-out ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด ์™ธ์— ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” Scale-up ์ด ์žˆ๋‹ค.

์„œ๋ฒ„๋ฅผ ์ฆ์„คํ•˜๋Š” Scale-out ๊ธฐ๋ฒ•์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„๋“ค์—๊ฒŒ ๊ฑธ๋ฆฌ๋Š” ๋ถ€ํ•˜๋ฅผ ์ ์ ˆํžˆ ๋ถ„๋ฐฐํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์€ OSI ๊ณ„์ธต์— ๋”ฐ๋ผ L4, L7 ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

L4

osi 4๊ณ„์ธต์ธ ์ „์†ก ๊ณ„์ธต์— ์‚ฌ์šฉ๋˜๋ฉฐ, L4 ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ๋ชฉ์ ์ง€์˜ IP์ฃผ์†Œ, ํฌํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•œ๋‹ค. TCP/IP ์ •๋ณด์— ๋”ฐ๋ผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 4๊ณ„์ธต์ธ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž์˜ IP ์ •๋ณด๊ฐ€ ์ˆ˜์‹œ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ์—๋Š” ์—ฐ์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ : ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•ด์ฃผ๋Š” ์žฅ์น˜ ๋˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค.

L7

osi 7๊ณ„์ธต์ธ ์‘์šฉ ๊ณ„์ธต์— ์‚ฌ์šฉ๋˜๋ฉฐ, L4 ์—์„œ TCP/IP ์ •๋ณด์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์š”์ฒญ์˜ ์ปจํ…์ธ , ํ—ค๋” ์ •๋ณด์— ๋”ฐ๋ผ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•œ๋‹ค. ์ปจํ…์ธ ์— ๋”ฐ๋ผ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‹ค ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.

Load Balancing Algorithm

Round Robin

๋ผ์šด๋“œ ๋กœ๋นˆ์€ ๋ฐ›์€ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์„œ๋ฒ„์— ํ• ๋‹น ๋ฐ›๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ด ์‰ฌ์šฐ๋ฉฐ, ์„œ๋ฒ„์˜ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๊ฐ€ ๊ฐ„ํŽธํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ ์ŠคํŽ™์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ์— ์„œ๋ฒ„์˜ ์ŠคํŽ™์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ํšจ์œจ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‚˜์˜จ ๋ฐฉ์‹์ด ๊ฐ€์ค‘ ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐฉ์‹์ด๋‹ค.

๊ธฐ์กด์˜ ๋ผ์šด๋“œ ๋กœ๋นˆ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๊ฐ๊ฐ ์„œ๋ฒ„์— ๊ฐ€์ค‘์น˜๋ฅผ ๋งค๊ฒจ ๋†’์€ ์„œ๋ฒ„๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐฐ๋ถ„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์„œ๋ฒ„์˜ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ๊ฐ๊ฐ ์ƒ์ดํ•œ ๊ฒฝ์šฐ์— ์ ์ ˆํ•˜๋‹ค.

IP Hash

์ฃผ๋กœ L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ๋ฅผ ํ•ด์‹ฑํ•ด ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•˜๊ณ , ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ชจ๋‘ ์„ ํƒ๋œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค. ๋™์ผํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ๋™์ผํ•œ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜๊ธฐ์—, ์„ธ์…˜ ์ผ๊ด€์„ฑ์ด ์œ ์ง€๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, IP ์ฃผ์†Œ๋กœ ๋ถ„์‚ฐ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋ณด๋‹ค ๋งŽ์€ ๋ถ€ํ•˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

Least Connection

์ตœ์†Œ ์—ฐ๊ฒฐ ๋ฐฉ์‹์€ ๊ฐ€์žฅ ์ ์€ ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•ด ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ฐ€์žฅ ์ ์€ ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์„œ๋ฒ„์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๋ถ„๋ฐฐ๋˜์–ด ์„ฑ๋Šฅ์„ ์ตœ์ ํ™” ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ๊ฒฐ ์ˆ˜ ๋งŒ์„ ๊ณ ๋ คํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ๊ฐ„ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๊ฐ€ ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated