์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

20,000+ RPS ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋„ค์ด๋ฒ„ ๋ฉด์ ‘๊ด€์ด ์•Œ๋ ค์ฃผ๋Š” Reactive ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ์‘๋‹ต์ด ๋А๋ ค์ง€๊ณ , ์Šค๋ ˆ๋“œ ํ’€์ด ๋น ๋ฅด๊ฒŒ ๊ณ ๊ฐˆ๋˜๋ฉฐ, ์™ธ๋ถ€ API ํ˜ธ์ถœ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ๋ณ‘๋ชฉ์ด ์‹ฌํ•ด์ง€๋Š” ํ™˜๊ฒฝ์—์„œ ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์„œ๋ฒ„๋ฅผ ํ™•์žฅํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ, ๊ตฌ์กฐ ์ž์ฒด๋ฅผ ๋ฐ”๊พธ๋Š” ๊ด€์ ์—์„œ ๋ฌธ์ œ๋ฅผ ๋ฐ”๋ผ๋ณด๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋จผ์ € ์ „ํ†ต์ ์ธ Spring MVC์˜ Thread per Request ๋ชจ๋ธ์ด ์–ด๋–ค ํ•œ๊ณ„๋ฅผ ๊ฐ€์ง€๋Š”์ง€ ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์™œ CPU๋Š” ๋‚จ์•„ ์žˆ๋Š”๋ฐ๋„ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š๋Š”์ง€, ๋ธ”๋กœํ‚น I/O๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‹œ์Šคํ…œ ์ž์›์„ ์ ์œ ํ•˜๋Š”์ง€๋ฅผ ์ฝ”๋“œ ๋ ˆ๋ฒจ์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์œผ๋กœ Reactive Streams์˜ ๊ฐœ๋…๊ณผ ํ‘œ์ค€ ์ŠคํŽ™์„ ๋ฐฐ์šฐ๊ณ , Reactor์˜ Mono์™€ Flux๋ฅผ ํ™œ์šฉํ•ด ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์‚ฌ์šฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ ํ๋ฆ„์ด ์–ด๋–ป๊ฒŒ ์‹œ์ž‘๋˜๊ณ , ์–ด๋–ป๊ฒŒ ์†Œ๋น„๋˜๋ฉฐ, ์ฒ˜๋ฆฌ๋Ÿ‰์€ ์–ด๋–ป๊ฒŒ ์กฐ์ ˆ๋˜๋Š”์ง€๊นŒ์ง€ ์‹ค์Šต์„ ํ†ตํ•ด ์ฒด๋“ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ Back Pressure๋ฅผ ํ™œ์šฉํ•ด OOM์ด๋‚˜ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ์„ค๊ณ„ ๋ฐฉ์‹๋„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ด…๋‹ˆ๋‹ค. ๋˜ํ•œ Spring WebFlux์˜ ์ด๋ฒคํŠธ ๋ฃจํ”„ ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , Non-Blocking I/O๊ฐ€ ์‹ค์ œ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ๋น„๊ต ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. MVC์™€ WebFlux๋ฅผ ๋‚˜๋ž€ํžˆ ๋‘๊ณ  ๊ตฌ์กฐ์  ์ฐจ์ด๋ฅผ ํ™•์ธํ•˜๋ฉฐ, ์–ธ์ œ Reactive๋ฅผ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ ๊ธฐ์ค€๋„ ํ•จ๊ป˜ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ โ€œ๋น„๋™๊ธฐ๋ฅผ ๋ฐฐ์šด๋‹คโ€๋Š” ์ˆ˜์ค€์—์„œ ๋๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ์€ ์Šค๋ ˆ๋“œ๋กœ ๋” ๋งŽ์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, ์™ธ๋ถ€ API ์˜์กด์„ฑ์ด ๋†’์€ ํ™˜๊ฒฝ์—์„œ ์•ˆ์ •์ ์ธ ํ๋ฆ„์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ๊ณ ๋™์‹œ์„ฑ ํ™˜๊ฒฝ์—์„œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํ™•๋ณดํ•˜๋Š” ์„ค๊ณ„ ๊ฐ๊ฐ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

(5.0) ์ˆ˜๊ฐ•ํ‰ 9๊ฐœ

์ˆ˜๊ฐ•์ƒ 135๋ช…

๋‚œ์ด๋„ ์ž…๋ฌธ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
๋ฐฑ์—”๋“œ์ดํ•ดํ•˜๊ธฐ
๋ฐฑ์—”๋“œ์ดํ•ดํ•˜๊ธฐ
์Šคํ”„๋ง
์Šคํ”„๋ง
Reactive Programming
Reactive Programming
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
๋ฐฑ์—”๋“œ์ดํ•ดํ•˜๊ธฐ
๋ฐฑ์—”๋“œ์ดํ•ดํ•˜๊ธฐ
์Šคํ”„๋ง
์Šคํ”„๋ง
Reactive Programming
Reactive Programming

์ƒˆ์†Œ์‹

๋ฐœํ–‰ํ•œ ์ƒˆ์†Œ์‹์ด ์—†์–ด์š”.

์›” โ‚ฉ19,800

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

โ‚ฉ99,000