Skip to content

Latest commit

ย 

History

History
164 lines (105 loc) ยท 10.2 KB

Load Balancing.md

File metadata and controls

164 lines (105 loc) ยท 10.2 KB

//220830 Noel




โค๏ธ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)

๋‘˜ ์ด์ƒ์˜ CPU or ์ €์žฅ์žฅ์น˜์™€ ๊ฐ™์€ ์ปดํ“จํ„ฐ ์ž์›๋“ค์—๊ฒŒ ์ž‘์—…์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ


๐Ÿงก ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์˜ ํ•„์š”์„ฑ

  • ํ˜„๋Œ€์˜ ๋ชจ๋“  ์ •๋ณด๋Š” ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ์Œ
  • ์ธํ„ฐ๋„ท์˜ ๋ฐœ๋‹ฌ์€ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ํ™œ๋ฐœํ•˜๊ฒŒ ๋งŽ์Œ -> ํŠธ๋ž˜ํ”ฝ์˜ ํญํŒ”์ ์ธ ์ฆ๊ฐ€๋กœ ์ด์–ด์ง
  • ๊ทธ ๊ฒฐ๊ณผ ์•„๋ฌด๋ฆฌ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ์„œ๋ฒ„๋ผ๊ณ ํ•ด๋„ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์—†์Œ
  • ๋”ฐ๋ผ์„œ ๊ธฐ์—…๋“ค์€ ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด ์ˆ˜๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„์‚ฐ
  • ์ด๋–„ ์Ÿ์•„์ง€๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐํ•ด ์ฃผ๋Š”๊ฒƒ์ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ!
๐Ÿ’ก์ดํ•ด๋ฅผ ์œ„ํ•œ ์šฉ์–ด ์„ค๋ช…

ํŠธ๋ž˜ํ”ฝ์ด๋ž€?
- ์„œ๋ฒ„์™€ ์Šค์œ„์น˜ ๋“ฑ์˜ ๋„คํŠธ์›Œํฌ ์žฅ์น˜์—์„œ ์ผ์ •์‹œ๊ฐ„ ํ๋ฅด๋Š” ๋ฐ์ดํ„ฐ ์–‘
- ์›น์‚ฌ์ดํŠธ์— ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ๋‹ค๋Š”๊ฒƒ์€ ์‚ฌ์šฉ์ž ์ ‘์†์ด ๋งŽ์•„ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ๋‹ค๋Š” ์˜๋ฏธ
- ํŠธ๋ž˜ํ”ฝ์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ๊ธฐ๋Šฅ์— ๋ฌธ์ œ๊ฐ€ ์ƒ์‹ค ์ˆ˜ ์žˆ์Œ
- ์˜ˆ) ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ €์— ๋„์šฐ๊ธฐ ์œ„ํ•ด 
			-> ์„œ๋ฒ„์— ํŒŒ์ผ์„ ์˜ฌ๋ ค๋†“๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์›นํŽ˜์ด์ง€์— ์ ‘์† ํ• ๋•Œ๋งˆ๋‹ค ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•ด์•ผํ•˜๋Š”๋ฐ
			-> ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋กœ๋“œ ๋˜๋Š” ์ •๋ณด์˜ ์–‘์ด ๋ฐ”๋กœ ํŠธ๋ž˜ํ”ฝ!
			-> ํ™ˆํŽ˜์ด์ง€์—์„œ ์—ฌ๋ŸฌํŽ˜์ด์ง€๋ฅผ ๋ณด๊ฑฐ๋‚˜ ์ด๋ฏธ์ง€, ๋™์˜์ƒ์„ ๋‚ด ์ปด์œผ๋กœ ๋ฐ›์„๋•Œ ํ™ˆํŽ˜์ด์ง€์™€ ์—ฐ๊ฒฐ๋œ ํŠธ๋ž˜ํ”ฝ์˜ ์–‘์ด ์ฆ๊ฐ€ํ•จ



๐Ÿงก ์ฆ๊ฐ€ํ•œ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€์ฒ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

image

Scale-up

  • ์„œ๋ฒ„ ์ž์ฒด์˜ ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ
  • ๋น„์œ ํ•˜์ž๋ฉด CPU๊ฐ€ i3์ธ ์ปดํ“จํ„ฐ๋ฅผ i7์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šท

Scale-out

  • ๊ธฐ์กด ์„œ๋ฒ„์™€ ๋™์ผํ•˜๊ฑฐ๋‚˜ ๋‚ฎ์€ ์„ฑ๋Šฅ์˜ ์„œ๋ฒ„๋ฅผ ๋‘ ๋Œ€ ์ด์ƒ ์ฆ์„คํ•˜์—ฌ ์šด์˜ํ•˜๋Š” ๊ฒƒ
  • CPU๊ฐ€ i3์ธ ์ปดํ“จํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€ ์ถ”๊ฐ€ ๊ตฌ์ž…ํ•ด ์šด์˜ํ•˜ ๊ฒƒ๊ณผ ๋น„์Šท
  • Scale-out์˜ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์ฆ์„คํ•œ๋‹ค๋ฉด, ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐํ•ด์ฃผ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”



๐Ÿงก๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์ด๋ž€?

image

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์€ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ํ•„์š”ํ•œ ๊ธฐ์ˆ 
  • ๋ถ„์‚ฐ์‹ ์›น ์„œ๋น„์Šค๋กœ, ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ€ํ•˜(Load)๋ฅผ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ์—ญํ• 
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ(Load Balancer)๋ฅผ Client์™€ Server Pool ์‚ฌ์ด์— ์œ„์น˜์— ๋‘๊ณ , ๋ถ€ํ•˜๊ธฐ ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ถ„์‚ฐ
  • ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ์‚ฌ์ดํŠธ์˜ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์›น ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€๋กœ ์ฆ์„คํ•˜๋ฉด์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋ฉด ์›น ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
๐Ÿ’ก์ดํ•ด๋ฅผ ์œ„ํ•œ ์šฉ์–ด ์„ค๋ช…

๋กœ๋“œ ๋ฒจ๋Ÿฐ์„œ (Load Balancer)
- ์„œ๋ฒ„์— ๊ฐ€ํ•ด์ง€๋Š” ๋ถ€ํ•˜(=load)๋ฅผ ๋ถ„์‚ฐ(=balancing)ํ•ด์ฃผ๋Š” ์žฅ์น˜ ๋˜๋Š” ๊ธฐ์ˆ ์„ ํ†ต์นญ

์„œ๋ฒ„ ํ’€ (Sever Pool) 
- ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„œ๋ฒ„๋“ค์˜ ๊ทธ๋ฃน



๐Ÿงก ๋‹ค์–‘ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐฉ์‹(๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜)

  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ํŠน์ • ์„œ๋ฒ„์— ๋ถ„๋ฐฐํ•˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๊ธฐ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Œ
  • ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐฉ์‹(๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜)์— ์–ด๋– ํ•œ ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ตฌ๋ถ„ ๋‚ด์šฉ
๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹
(Round Robin Method)
- ์„œ๋ฒ„์— ๋“ค์–ด์˜จ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋ฉฐ ๋ฐฐ์ •ํ•˜๋Š” ๋ฐฉ์‹
- ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋ถ„๋ฐฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ์ŠคํŽ™์„ ๊ฐ–๊ณ  ์žˆ๊ณ , ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ(์„ธ์…˜)์ด ์˜ค๋ž˜ ์ง€์†๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ํ™œ์šฉํ•˜๊ธฐ ์ ํ•ฉ
๊ฐ€์ค‘ ๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹
(Weighted Round Robin Method)
- ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๋งˆ๋‹ค ๊ฐ€์ค‘์น˜๋ฅผ ๋งค๊ธฐ๊ณ  ๊ฐ€์ค‘์น˜๊ฐ€ ๋†’์€ ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์šฐ์„ ์ ์œผ๋กœ ๋ฐฐ๋ถ„
- ์ฃผ๋กœ ์„œ๋ฒ„์˜ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ์ƒ์ดํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐฉ์‹.
- ์˜ˆ) A ์„œ๋ฒ„ (๊ฐ€์ค‘์น˜:5) / B ์„œ๋ฒ„๊ฐ€ (๊ฐ€์ค‘์น˜:2) ์ผ ๋•Œ,
> ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋Š” ๋ผ์šด๋“œ๋กœ๋นˆ ๋ฐฉ์‹์œผ๋กœ A ์„œ๋ฒ„์— 5๊ฐœ B ์„œ๋ฒ„์— 2๊ฐœ์˜ ์š”์ฒญ์„ ์ „๋‹ฌ
IP ํ•ด์‹œ ๋ฐฉ์‹
(IP Hash Method)
- ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ๋ฅผ ํŠน์ • ์„œ๋ฒ„๋กœ ๋งคํ•‘ํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹,
- ์‚ฌ์šฉ์ž์˜ IP๋ฅผ ํ•ด์‹ฑํ•ด Load๋ฅผ ๋ถ„๋ฐฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅ

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

*์‘๋‹ต์‹œ๊ฐ„ (Response Time) : ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์ตœ์ดˆ ์‘๋‹ต์„ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„



๐Ÿงก L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

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

L4? L7?
- ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์‹œ์Šคํ…œ์€ ํฌ๊ฒŒ ์ผ๊ณฑ ๊ฐ€์ง€์˜ ๊ณ„์ธต(OSI 7 layers)๋กœ ๋‚˜๋‰จ
- ๊ฐ๊ฐ์˜ ๊ณ„์ธต(Layer)์ด L1/L2/L3โ€ฅโ€ฅL7์— ํ•ด๋‹น
- ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์žฅ๋น„๋Š” ํ•˜์œ„ ๊ณ„์ธต์˜ ์žฅ๋น„๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๋”์šฑ ์ •๊ตํ•œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ด ๊ฐ€๋Šฅ

๐Ÿ’š L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

image

  • L4 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต(IP, IPX)์ด๋‚˜ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต(TCP, UDP)์˜ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐ
  • IP์ฃผ์†Œ๋‚˜ ํฌํŠธ๋ฒˆํ˜ธ, MAC์ฃผ์†Œ, ์ „์†ก ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ํŠธ๋ž˜ํ”ฝ์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ

๐Ÿ’š L7 ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

image

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

* ๋ณตํ˜ธํ™”(decryption) : ๋ถ€ํ˜ธํ™”(์•”ํ˜ธ๋ฌธ)๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€ํ˜ธ๋˜๊ธฐ ์ „ ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ
- ์ƒ์œ„๊ณ„์ธต์—์„œ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฌํ•œ๊ธฐ๋–„๋ฌธ์— ๋” ์„ฌ์„ธํ•œ ๋ผ์šฐํŒ…์ด ๊ฐ€๋Šฅ
-์บ์‹ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
-๋น„์ •์ƒ์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์ „์— ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด ์„œ๋น„์Šค ์•ˆ์ „์„ฑ์ด ๋†’์Œ
๋‹จ์  - ํŒจํ‚ท์˜ ๋‚ด์šฉ์„ ์‚ดํŽด ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์„ฌ์„ธํ•œ ๋ผ์šฐํŒ…์ด ๋ถˆ๊ฐ€๋Šฅ
-์‚ฌ์šฉ์ž์˜ IP๊ฐ€ ์ˆ˜์‹œ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์—ฐ์†์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์–ด๋ ค์›€
-ํŽ˜ํ‚ท์˜ ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™” ํ•ด์•ผํ•˜๊ธฐ์— ๋” ๋†’์€ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผํ•จ
-ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์™€ ์ธ์ฆ์„œ๋ฅผ ๊ณต์œ ํ•ด์•ผํ•˜๊ธฐ ๋–„๋ฌธ์— ๊ณต๊ฒฉ์ž๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋ณด์•ˆ ์ƒ์˜ ์œ„ํ—˜์„ฑ์ด ์กด์žฝ



์ถœ์ฒ˜

https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/%EB%A1%9C%EB%93%9C%20%EB%B0%B8%EB%9F%B0%EC%8B%B1(Load%20Balancing).md