2022๋…„ 11์›” 15์ผยท3๋ถ„ ์ฝ๊ธฐ

๋ฏธ๋“ค์›จ์–ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฏธ๋“ค์›จ์–ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ํ•ฉ๋‹ˆ๊นŒ? ๋ฏธ๋“ค์›จ์–ด์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ๊ณ„์† ์ฝ์œผ์„ธ์š”!

๋ฏธ๋“ค์›จ์–ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

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

middleware ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Middleware ๋Š” ์šด์˜ ์ฒด์ œ์™€ ์šด์˜ ์ฒด์ œ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. Middleware ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์šด์˜ ์ฒด์ œ์—์„œ ์›๊ฒฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š” ์ˆจ๊ฒจ์ง„ ๋ณ€ํ™˜ ๊ณ„์ธต ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ •๋ณด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ ํŒŒ์ดํ”„๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ middleware ์˜ ์˜ˆ๋กœ๋Š” ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ํ™”๋ฉด, ๋ฉ”์‹œ์ง€ ์ค‘์‹ฌ middleware, ์˜จ๋ผ์ธ middleware, ๊ด€๊ณ„ํ˜• middleware ๋ฐ ์›น ์„œ๋ฒ„์˜ middleware ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”์‹œ์ง• ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด REST, SOAP (Simple Object Access Protocol) ๋ฐ JSON ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง• ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” middleware ์˜ ์ข…๋ฅ˜๋Š” ๋ชจ๋“  middleware ๊ฐ€ ์—ฐ๊ฒฐ ์˜๋ฌด๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ์‚ฌ์šฉ ์ค‘์ธ ์„œ๋น„์Šค์™€ ๊ตํ™˜ํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์›น ์„œ๋ฒ„, ์˜จ๋ผ์ธ ์›น ์„œ๋ฒ„, ๋Œ€๊ธฐ์—ด, ๋™์‹œ์„ฑ ์ œ์–ด, ๋ณด์•ˆ ์‹๋ณ„ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆฌ์ €๋ฆฌ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ ์™ธ์—๋„ middleware ๋Š” ํ˜„์žฌ ๊ฒฐ์ •์ด ๋‚ด๋ ค์ง€๋Š” ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ์—๋„ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

middleware ๋Š” ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜ ์ฟผ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ๋ฐฑ์—”๋“œ ์ •๋ณด์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” ๋ณด์—ฌ์ค„ ์‚ฌ์ง„์ด๋‚˜ ์‹คํ–‰ํ•  ํด๋ฆฝ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๊ธˆ์œต ํ™œ๋™ ๋‚ด์—ญ๊ณผ ๊ฐ™์ด ๋” ๋ณต์žกํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด Simple object access ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง• ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ middleware ๋Š” Java, Python , C++, PHP์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋œ ๋ถ€๋ถ„์ด ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

middleware ์•„ํ‚คํ…์ฒ˜๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

middleware ์†Œํ”„ํŠธ์›จ์–ด์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ˜•์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ์›น ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. middleware ๋ฅผ ํ†ตํ•ด ํ•œ ์—ฐ๊ฒฐ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค๋ฅธ ์—ฐ๊ฒฐ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ •๋ณด๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. middleware ๋Š” ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜: middleware

์•„ํ‚คํ…์ฒ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ๊ด€๋ฆฌ ์ฝ˜์†”

middleware ์‹œ์Šคํ…œ์˜ ์šด์˜, ํ”„๋กœ๊ทธ๋žจ ๊ทœ์ •, ๊ตฌ์„ฑ ๋“ฑ์€ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด์šฉ ๊ด€๋ฆฌ ์ฝ˜์†”์— ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ณ ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์™ธ๋ถ€์—์„œ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” middleware ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ณ ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ณ ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์•ฑ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค middleware ๋ฐ ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค

์—ฌ๋Ÿฌ ์ธก๋ฉด์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ ‘์ฐฉ์ œ๋Š” ๋‚ด๋ถ€ middleware ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. middleware ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํ”„๋กœํ† ์ฝœ๊ณผ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • ํ”Œ๋žซํผ ์ธํ„ฐํŽ˜์ด์Šค

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

  • ๊ณ„์•ฝ ๊ด€๋ฆฌ์ž

middleware ํ”„๋กœ๊ทธ๋žจ์˜ ๊ณ„์•ฝ ๊ด€๋ฆฌ์ž๋Š” ๋ฐ์ดํ„ฐ ๊ณต์œ ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ middleware ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์•ฑ์ด ์ง€์นจ์„ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์„ธ์…˜ ์ฝ”๋””๋„ค์ดํ„ฐ

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

  • ๋Ÿฐํƒ€์ž„ ๋ชจ๋‹ˆํ„ฐ

๋Ÿฐํƒ€์ž„ ๋ชจ๋‹ˆํ„ฐ๋Š” ๋ฏธ๋“ค์›จ์–ด์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ™œ๋™์„ ์ธ์‹ํ•˜๊ณ  ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

middleware ์˜ ์ข…๋ฅ˜

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

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค(API)

ํŠน์ • ํ”Œ๋žซํผ์—์„œ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ API ์™€ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์›น ์„œ๋ฒ„ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ฉ”์‹œ์ง• ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ฐœ๋ฐœ ๋˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ฝ˜ํ…์ธ  ์ค‘์‹ฌ middleware

์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ๊ณต๊ธ‰์ž-์†Œ๋น„์ž ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ํš๋“ํ•ฉ๋‹ˆ๋‹ค.

์ž„๋ฒ ๋””๋“œ ํ”Œ๋žซํผ middleware

์ž„๋ฒ ๋””๋“œ ํ”„๋กœ๊ทธ๋žจ, ์†Œํ”„ํŠธ์›จ์–ด ํ”Œ๋žซํผ ๋ฐ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ๋ฐ ํ†ตํ•ฉ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž„๋ฒ ๋””๋“œ middleware ๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

MOM(๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ middleware)

๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ middleware ๋ฅผ ํ†ตํ•ด ์ธํ”„๋ผ๋Š” ๋ถ„์‚ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด middleware ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์— ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค middleware

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค middleware ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋” ์‰ฝ๊ฒŒ ํ†ต์‹ ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค middleware ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค middleware ๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์—…์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ middleware

ํšŒ์‚ฌ๋Š” ๊ธฐ์—… ์ „์ฒด์˜ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ, ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜ ๋ฐ ๋ฐฑ์—”๋“œ ์ •๋ณด ์†Œ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ •์˜๋œ ๋ฐฉ๋ฒ•์ธ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ middleware ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ†ตํ•ฉ ์„ผํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™œ middleware ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

์›Œํฌํ”Œ๋กœ๋ฅผ ๋กœ์ง์œผ๋กœ ์ „ํ™˜ํ•˜์„ธ์š”
์‹œ๊ฐ์  ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ผ์šฐํŒ…ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ฆํ•˜๋ฉฐ ๋™์ž‘์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์„ธ์š”.
์ž๋™ํ™”

ํ”Œ๋žซํผ ๋ฏธ๋“ค์›จ์–ด์˜ ๋ชฉํ‘œ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ๊ฐœ๋ณ„ ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ํ†ต์‹ ์„ ์ด‰์ง„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. middleware ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์—…์€ ๋” ์งง์€ ์ „ํ™˜ ๊ธฐ๊ฐ„์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

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

Middleware ๋ฐ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์€ ํ•„์ˆ˜ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜จํ”„๋ ˆ๋ฏธ์Šค, ํ”„๋ผ์ด๋น— ๋ฐ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ์„ค์ •์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚  ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—์„œ ์ƒ์„ฑ๋˜์–ด Kubernetes ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐํฌ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ํด๋ผ์šฐ๋“œ ์šด์˜์„ ์œ„ํ•ด ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

middleware ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์›น๊ณผ ๋ชจ๋ฐ”์ผ์„ ํ•จ๊ป˜ ์ถœ์‹œํ•˜์„ธ์š”
API์™€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋งž๋Š” ์›น๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜์„ธ์š”.
UI ์‚ดํŽด๋ณด๊ธฐ

Middleware ๋Š” ๋งŽ์€ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์•Œ์•„์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

๊ฒŒ์ž„ ๊ฐœ๋ฐœ

๊ฒŒ์ž„ ๋””์ž์ด๋„ˆ๋Š” ํ”Œ๋žซํผ middleware ๋ฅผ ๊ฒŒ์ž„ ์—”์ง„์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„์ด ์ž‘๋™ํ•˜๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜๋งŽ์€ ์‚ฌ์ง„, ์‚ฌ์šด๋“œ, ๋น„๋””์˜ค ์„œ๋น„์Šค ๋ฐ ํ†ต์‹  ๊ธฐ์ˆ ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ƒํ˜ธ ์ž‘์šฉ์€ ๊ฒŒ์ž„ ์—”์ง„์— ์˜ํ•ด ๋ณด๋‹ค ์‰ฝ๊ณ  ์ƒ์‚ฐ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

์ „์ž์ œํ’ˆ

์—”์ง€๋‹ˆ์–ด๋Š” middleware ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ผ์„œ์™€ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ฉ”์‹œ์ง• ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ํ”Œ๋žซํผ middleware ๊ณ„์ธต์€ ์ด๋“ค ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ

Middleware ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ถ€ํ’ˆ์„ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

AppMaster ๋Š” ์–ด๋””์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๊นŒ?

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

์š”์ฆ˜์—๋Š” ์•ฑ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ฝ”๋”ฉ ๊ธฐ์ˆ ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์•„๋‹Œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์‚ฌ์šฉ์ž ์ •์˜์— ์˜์กดํ•จ์œผ๋กœ์จ ์ฝ”๋”์™€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ ๋ชจ๋‘๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ ํ”Œ๋žซํผ์€ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ œ AppMaster ์™€ ๊ฐ™์€ no-code ํ”Œ๋žซํผ์˜ ๋„์›€์œผ๋กœ ์ฝ”๋”ฉ ์ง€์‹์ด ์—†๋”๋ผ๋„ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์„ฑํ•œ ์ฝ”๋“œ์˜ ์†Œ์œ ๊ถŒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์—์„œ middleware ๋Š” ์—”๋“œํฌ์ธํŠธ ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. AppMaster ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ์—”๋“œํฌ์ธํŠธ์—์„œ middleware ๋ฅผ ๋ฌด์ œํ•œ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ผ๋ถ€ middleware ๋Š” ์ฆ‰์‹œ ๋‚ด์žฅ๋˜์–ด ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ œ๊ฑฐํ•  ์ˆ˜๋Š” ์—†์œผ๋ฉฐ ์ผ๋ถ€ ๋ชจ๋“ˆ์€ middleware ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

Middleware ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๋งŽ์œผ๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ์ผ์ƒ์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ด์ ์„ ์–ป๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. middleware ์™€ ๊ทธ ์ข…๋ฅ˜๋ฅผ ์•Œ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ํ”Œ๋žซํผ middleware ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
๋ฏธ๋“ค์›จ์–ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | AppMaster