๐Ÿ–ฅ๏ธ CS

[๋„คํŠธ์›Œํฌ] L7 ์Šค์œ„์น˜

seonghye0n 2023. 6. 12. 15:21

L7 ์Šค์œ„์น˜

์Šค์œ„์น˜๋ผ๊ณ  ํ•˜๋ฉด ์—ฌ๋Ÿฌ ์žฅ๋น„๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์ค‘์žฌํ•˜๋ฉฐ ๋ชฉ์ ์ง€๊ฐ€ ์—ฐ๊ฒฐ๋œ ํฌํŠธ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ†ต์‹  ๋„คํŠธ์›Œํฌ ์žฅ๋น„์ด๋‹ค.

๊ทธ ์ค‘ L7 ์Šค์œ„์น˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ผ๊ณ  ํ•˜๋ฉฐ, ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ์žฅ๋น„์ด๋‹ค.

URL, ์„œ๋ฒ„, ์บ์‹œ, ์ฟ ํ‚ค๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ๋ฐ”์ด๋Ÿฌ์Šค, ๋ถˆํ•„์š”ํ•œ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋งŒ์•ฝ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ์„œ๋ฒ„๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Š” ํ—ฌ์Šค ์ฒดํฌ(health check)๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์‹œํ•˜๋ฉด์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.


L4 vs L7

์ถœ์ฒ˜ : https://github.com/haewon-park/csStudy/blob/main/Network/Load%20Balancing.md
์ถœ์ฒ˜ : https://github.com/haewon-park/csStudy/blob/main/Network/Load%20Balancing.md

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

L7 ์Šค์œ„์น˜๋Š” IP, ํฌํŠธ ์™ธ์—๋„ URL, HTTP ํ—ค๋”, ์ฟ ํ‚ค ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•œ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด์„œ L4 ์Šค์œ„์น˜๋Š” IP, ํฌํŠธ ์ •๋ณด๋กœ๋งŒ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ, L7 ์Šค์œ„์น˜๋Š” IP, ํฌํŠธ ์™ธ์— ํŽ˜์ด๋กœ๋“œ(๋ฐ์ดํ„ฐ) ์ •๋ณด๊นŒ์ง€ ์–ป์–ด ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์„ ํ•œ๋‹ค.

๊ฒฐ์ œ ์‹œ์Šคํ…œ์„ ์„œ๋น„์Šคํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

L4 ์Šค์œ„์น˜๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ 2๋Œ€๋ฅผ ๋‘๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ์‹œํ‚จ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

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


ํ—ฌ์Šค ์ฒดํฌ(Health Check)

ํ—ฌ์Šค ์ฒดํฌ๋Š” ์ „์†ก ์ฃผ๊ธฐ์™€ ์žฌ์ „์†ก ํšŸ์ˆ˜ ๋“ฑ์„ ์„ค์ •ํ•œ ์ดํ›„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

TCP, HTTP ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉฐ ์ด ์š”์ฒญ์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋‹ค๋ฉด ์ •์ƒ์ ์ธ ์„œ๋ฒ„๋กœ ํŒ๋ณ„ํ•œ๋‹ค.

ํ—ฌ์Šค ์ฒดํฌ๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ํ•œ๋‹ค๋ฉด ๋ถ€ํ•˜๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ ์ ˆํ•œ ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š”๊ฒŒ ๋ฐ”๋žŒ์งํ•˜๋‹ค.


 

 

์ฐธ๊ณ 

๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ

๋ฐ˜์‘ํ˜•