ํ™ˆ์œ ํŠœ๋ธŒ๋ธ”๋กœ๊ทธTop 10
๋‚ด ํ”„๋กœํ•„

๋ฐ๋ธŒํ—ˆ๋ธŒ ์•ˆ๋‚ด
์†Œ๊ฐœ์—…๋ฐ์ดํŠธ ์†Œ์‹

๋ฐ๋ธŒํ—ˆ๋ธŒ ์ปค๋ฎค๋‹ˆํ‹ฐ

How NGINX Handles MILLIONS of Requests With Just 1 Process ๐Ÿ”ฅ

ByteMonk

2025. 5. 12.

0ํšŒ

#backend
#infra
  • Nginx๋Š” ์ „ํ†ต์ ์ธ ์„œ๋ฒ„์™€ ๋‹ฌ๋ฆฌ ์Šค๋ ˆ๋“œ๋ฅผ ๋งŽ์ด ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜, ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ๋™์‹œ์„ฑ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋†’์€ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๐Ÿš€
  • Master ํ”„๋กœ์„ธ์Šค๋Š” ์„ค์ •์„ ๊ด€๋ฆฌํ•˜๊ณ  Worker ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, Worker ํ”„๋กœ์„ธ์Šค๋Š” ์‹ค์ œ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  Event Loop๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. โš™๏ธ
  • Listen Socket์€ ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ ์š”์ฒญ์„ ํ์— ๋ณด๊ด€ํ•˜๊ณ , Worker ํ”„๋กœ์„ธ์Šค๋Š” I/O ์ž‘์—…์ด ์™„๋ฃŒ๋œ ์—ฐ๊ฒฐ์„ Connection Socket์—์„œ ๊ด€๋ฆฌํ•˜๋ฉฐ, Event Loop๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์„ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿšฆ
  • NodeJS์™€ Nginx๋Š” ๋ชจ๋‘ Event-Driven, Non-Blocking ๋ชจ๋ธ์„ ๋”ฐ๋ฅด์ง€๋งŒ, Nginx๋Š” Master ํ”„๋กœ์„ธ์Šค๊ฐ€ Worker ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋” ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. ๐Ÿ—๏ธ
  • EOL(epoll)๊ณผ ๊ฐ™์€ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๊ฐœ์˜ ์†Œ์ผ“์„ ํšจ์œจ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์ค€๋น„๋œ ์†Œ์ผ“๋งŒ ์ฒ˜๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. โšก

Recommanded Videos