JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

ํ—ค๋“œ๋ผ์ธ์ด ๊ฑด์ „ํ•œ ๋ฐ˜์‘์„ ๋ถˆ๋Ÿฌ์ผ์œผ์ผฐ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. โ€œ์•„, ๋˜ ์‹œ์ž‘๋๋„ค์š”...โ€ ํ•˜์ง€๋งŒ 5~10๋ถ„ ๋™์•ˆ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ด€์‹ฌ์„ ์‚ฌ๋กœ์žก์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ๋Œ€๋ฅผ ์‹ค๋ง์‹œํ‚ค์ง€ ์•Š๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

RPC๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ํ‘œ์ค€์„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. JSON-RPC 2.0. REST๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ช…ํ™•์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ž˜์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. REST์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ - REST์™€ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. HTTP.

RPC ์š”์ฒญ์€ ์ผ๊ด„ ์š”์ฒญ์„ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

์š”์ ์€ RPC์—์„œ๋Š” ํ•˜๋‚˜์˜ ์š”์ฒญ์œผ๋กœ ์—ฌ๋Ÿฌ ํ”„๋กœ์‹œ์ €๋ฅผ ๋™์‹œ์— ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•ด๋‹น ์‚ฌ์šฉ์ž์—๊ฒŒ ์•„๋ฐ”ํƒ€๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ๋™์ผํ•œ ์š”์ฒญ์œผ๋กœ ํ•ด๋‹น ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๋ถ€ ์ฃผ์ œ๋ฅผ ๊ตฌ๋…ํ•˜๋„๋ก ํ•˜์„ธ์š”. ๋‹จ ํ•œ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ํ˜œํƒ์„ ๋ˆ„๋ฆฌ์‹œ๋‚˜์š”!

์‹ค์ œ๋กœ ๋ฐฑ์—”๋“œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ๊ด„ ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋นจ๋ผ ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. XNUMX๊ฐœ์˜ REST ์š”์ฒญ์—๋Š” ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ•œ ๋…ธ๋“œ์—์„œ XNUMX๋ฐฐ ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

REST์˜ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์€ ํ›„์† ์š”์ฒญ์ด ์ด๋ฃจ์–ด์ง€๋„๋ก ์‚ฌ์šฉ์ž ID๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋˜ํ•œ ์ „์ฒด ๊ฒฐ๊ณผ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

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

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

๋™์ผํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ์ธํ”„๋ผ ํ™œ๋™ ์ฑ„๋„์€ ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ RPC๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์š”์ฒญ์€ ๋ฐธ๋Ÿฐ์„œ์—์„œ ๋ฐฑ์—”๋“œ๊นŒ์ง€ ํ•œ์ชฝ ๊ตฌ๊ฐ„์—์„œ๋งŒ ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. REST๋Š” ์—ฌ์ „ํžˆ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์—์„œ ์†์‹ค์„ ์ž…์ง€๋งŒ ์ „์ฒด ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์‹ค๋œ ์‹œ๊ฐ„์„ ๋ณด์ƒํ•ฉ๋‹ˆ๋‹ค.

๋†์ถ•์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ์š”์ฒญ์ด ์•„๋‹ˆ๋ผ ์˜ˆ๋ฅผ ๋“ค์–ด XNUMX๊ฐœ ๋˜๋Š” XNUMX๊ฐœ ์š”์ฒญ์„ ๋Œ€๋ณธ์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋ฉฐ "์ง€๊ธˆ ๋ˆ„๊ฐ€ ์Šน๋ฆฌํ•ฉ๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์ž…๋‹ˆ๋‹ค. ๋ถˆ๋ถ„๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ๋”์šฑ ํญ๋„“๊ฒŒ ์‚ดํŽด๋ณผ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์ธํ”„๋ผ ์ฑ„๋„์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ฃผ์ง€๋งŒ ์ธํ”„๋ผ๋Š” ์ฑ„๋„๋กœ ์ œํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ๋“œ๊ฐ€ ๋งŽ์€ ์ธํ”„๋ผ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์บ์‹œ์ž…๋‹ˆ๋‹ค. ์ด์ œ ์ผ์ข…์˜ ์‚ฌ์šฉ์ž ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž๊พธ. 32๋ฒˆ์ด๋ผ๊ณ  ํ•ด๋ณด์ž.

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

๋†’์€ ๋กœ๋“œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด RPC ์ธํ”„๋ผ๊ฐ€ ์–ด๋–ป๊ฒŒ ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ค‘์š”ํ•œ ๊ฒƒ์€ REST๊ฐ€ RPC์™€ ๋‹ฌ๋ฆฌ HTTP ํ”„๋กœํ† ์ฝœ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ์ด ๊ธฐ๋Šฅ์€ ์š”์ฒญ ๋ฉ”์„œ๋“œ์ธ GET์„ ํ†ตํ•ด ์‹คํ˜„๋ฉ๋‹ˆ๋‹ค.

๋ฌด์—‡๋ณด๋‹ค๋„ HTTP ๋ฉ”์„œ๋“œ์—๋Š” ์บ์‹ฑ ์ „๋žต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTP. RPC์˜ ๊ฒฝ์šฐ ๋ฉฑ๋“ฑ์„ฑ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š๋Š” POST ์š”์ฒญ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋™์ผํ•œ POST ์š”์ฒญ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ ์ฃผ์„์ด ์ „์†ก๋œ ํ›„ ์ด ์ฃผ์„์˜ ๋‹ค๋ฅธ ๋ณต์‚ฌ๋ณธ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค)(์ถœ์ฒ˜).

๊ฒฐ๊ณผ์ ์œผ๋กœ RPC๋Š” ์ธํ”„๋ผ ์บ์‹œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์†Œํ”„ํŠธ์›จ์–ด ์บ์‹œ๋ฅผ "๊ฐ€์ ธ์˜ค๊ธฐ"ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์ด ์—ญํ• ์˜ Redis๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์•„ํ‚คํ…์ฒ˜์— ๋ˆˆ์— ๋„๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ๊ณ ๋ ค ์ค‘์ธ ์ธํ”„๋ผ์—์„œ REST ๋ฐ RPC๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์š”์ฒญ์„ "์ƒ์„ฑ"ํ–ˆ๋Š”์ง€ ๊ณ„์‚ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์š”์ฒญ
๋ฐ›์€ ํŽธ์ง€ํ•จ
๋ฐฑ์—”๋“œ์—
DBMS์—
์†Œํ”„ํŠธ ์บ์‹œ(Redis)
TOTAL

REST
1 / 32 *
1
1
0
3 / 35

RPC
32
32
1
31
96

[*] ๊ฐ€์žฅ ์ข‹์€ ๊ฒฝ์šฐ(๋กœ์ปฌ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) 1๊ฐœ์˜ ์š”์ฒญ(32๊ฐœ!), ์ตœ์•…์˜ ๊ฒฝ์šฐ XNUMX๊ฐœ์˜ ์š”์ฒญ์ด ์ˆ˜์‹ ๋ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๊ณ„ํš๊ณผ ๋น„๊ตํ•˜๋ฉด ์ฐจ์ด์ ์ด ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. ์ด์ œ REST์˜ ์ด์ ์ด ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถ”์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๋œ ์ธํ”„๋ผ์—๋Š” CDN์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ข…์ข… DDoS ๋ฐ DoS ๊ณต๊ฒฉ ๋Œ€์‘ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค:

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

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

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

๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๊ด„ ์š”์ฒญ(RPC)์ด ๋” ๋น ๋ฅด๋‹ค๋Š” ํ†ต๋…์ด ์™œ ๊ทธ๋ ‡๊ฒŒ ๋ˆ์งˆ๊ธฐ๊ฒŒ ์กด์žฌํ•˜๋Š” ๊ฑธ๊นŒ์š”? ๊ฐœ์ธ์ ์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋Š” REST๊ฐ€ ๊ทธ ๊ฐ•์ ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ์ˆ˜์ค€์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”์šฑ์ด ๊ทธ๋Š” ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ์ž์‹ ์˜ ์•ฝ์ ์„ ๋” ๊ธฐ๊บผ์ด ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

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

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

RPC ์š”์ฒญ์€ ๋‹จ์ผ ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์ผ๊ด„ ์š”์ฒญ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋” ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

RPC์˜ ์ด๋Ÿฌํ•œ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ํ™•์‹คํ•œ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ REST๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ ์  ๋” ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ ๋…ธ๋“œ์— ์ผ๊ด€๋˜์ง€ ์•Š๊ฒŒ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

REST์˜ ์ด๋Ÿฌํ•œ "๋‹จ์ "์€ ์œ„์—์„œ ์„ค๋ช…ํ•œ ์žฅ์ (๋ชจ๋“  ์ธํ”„๋ผ ๋ฆฌ์†Œ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ)์˜ ๋ฐ˜๋Œ€ ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. ์ธํ”„๋ผ๊ฐ€ ์ œ๋Œ€๋กœ ์„ค๊ณ„๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ํŠนํžˆ ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์„ค๊ณ„๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด๋Š” ์ •๋ง ํฐ ๊ณ ํ†ต์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ผ๊ด„ ์š”์ฒญ์ด ๋ณด๊ธฐ๋งŒํผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ์„ค๋ช…์œผ๋กœ ํ”„๋กœํ•„์„ ๋ณด๊ฐ•ํ•œ ๋‹ค์Œ ๊ทธ์—๊ฒŒ ๋น„๋ฐ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ SMS๋ฅผ ๋ณด๋‚ด ๋“ฑ๋ก์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ํ•˜๋‚˜์˜ ์ผ๊ด„ ์š”์ฒญ์œผ๋กœ ์„ธ ๋ฒˆ์˜ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

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

๋‹ค์Œ ์‹œ๋„๋Š” ๋ณต๊ถŒ์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์ด ๋™์ผํ•œ ๋…ธ๋“œ์— ๋‹ค์‹œ ๋„๋‹ฌํ•˜๊ณ  ๋‹ค์‹œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์šด์ด ์ข‹์•„์„œ ์‹คํ–‰๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ ์–ด๋„ ํ•œ ๋ฒˆ์€ ์šฐ๋ฆฌ ์ธํ”„๋ผ๊ฐ€ ์ด๋ฏธ ํ—›๋˜์ด ์ž‘๋™ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง์€ ์žˆ์—ˆ์ง€๋งŒ ์ด์ต์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ข‹์•„์š”, ์šฐ๋ฆฌ๊ฐ€ ๊ธด์žฅ์„ ํ’€๊ณ (!) ์š”์ฒญ์ด ๋ถ€๋ถ„์ ์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ƒ๊ฐํ•ด ๋ดค๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์™„๋ฃŒํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค(์–ด๋Š ๊ฒƒ์ž…๋‹ˆ๊นŒ? ์ „๋ฉด์—์„œ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๊นŒ?). ๊ทธ๋Ÿฌ๋‚˜ ๋ณต๊ถŒ์€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SMS ์ „์†ก ์š”์ฒญ์ด ๋‹ค์‹œ ์‹คํŒจํ•  ํ™•๋ฅ ์€ 50/50์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ณด๋ฉด ์„œ๋น„์Šค๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋งŒํผ ์•ˆ์ •์ ์ด์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. REST๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

JSON-RPC? ๊นŒ๋‹ค๋กœ์šด REST๋ฅผ ์ด์šฉํ•˜์„ธ์š”

REST๋Š” HTTP์˜ ๋งˆ๋ฒ•์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ด์ œ๋Š” ์‘๋‹ต ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. SMS ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์˜ค๋ฅ˜ 503์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฐฑ์—”๋“œ๋Š” ์ด ์˜ค๋ฅ˜๋ฅผ ๋ฐธ๋Ÿฐ์„œ์— ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ฐธ๋Ÿฐ์„œ๋Š” ์ด ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๊ณ  ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์˜ˆ์ƒ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ณ  ์ธํ”„๋ผ๋Š” "์ ‘๊ทผ์„ฑ์ด ๋›ฐ์–ด๋‚œ"์ด๋ผ๋Š” ๋†’์€ ํƒ€์ดํ‹€์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ํ–‰๋ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ ์ „๋ถ€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฐธ๋Ÿฐ์„œ๋Š” ๋‹จ์ง€ 503์ด๋ผ๋Š” ์‘๋‹ต ์ฝ”๋“œ๋ฅผ ์ˆ˜์‹ ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ‘œ์ค€์— ๋”ฐ๋ผ ์‘๋‹ตํ•  ๋•Œ "Retry-After" ํ—ค๋”์™€ ํ•จ๊ป˜ ์ด ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ—ค๋”๋Š” ์ง€์ •๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์ด ๊ฒฝ๋กœ์—์„œ ์ด ๋…ธ๋“œ๋ฅผ ๋ฐฉํ•ดํ•  ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋ฐธ๋Ÿฐ์„œ์—๊ฒŒ ๋ถ„๋ช…ํžˆ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ SMS ์ „์†ก ์š”์ฒญ์€ SMS ๊ฒŒ์ดํŠธ์›จ์ด์— ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๋…ธ๋“œ๋กœ ์ง์ ‘ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๋ณด์‹œ๋‹ค์‹œํ”ผ JSON-RPC์˜ ์‹ ๋ขฐ์„ฑ์€ ๊ณผ๋Œ€ํ‰๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๊ด€์„ฑ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์‹ ๋ขฐ์„ฑ์ด ํฌ์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์€ ์•ž์„  ๊ฒƒ๊ณผ ๋Œ€์ฒด๋กœ ๋น„์Šทํ•˜๋‹ค. ์ธํ”„๋ผ๊ฐ€ ๋‹จ์ˆœํ•  ๋•Œ JSON-RPC์˜ ๋ช…ํ™•์„ฑ์€ ํ™•์‹คํžˆ ์žฅ์ ์ด ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ๋ถ€ํ•˜๊ฐ€ ๋†’์€ ๊ณ ๊ฐ€์šฉ์„ฑ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ REST๋Š” ๋” ๋ณต์žกํ•˜์ง€๋งŒ ๋” ์ •ํ™•ํ•œ ์†”๋ฃจ์…˜์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

REST์— ๋Œ€ํ•œ ์ง„์ž… ์ž„๊ณ„๊ฐ’์ด ๋” ๋‚ฎ์Šต๋‹ˆ๋‹ค.

RPC์— ๋Œ€ํ•œ ํ™•๋ฆฝ๋œ ๊ณ ์ •๊ด€๋…์„ ํญ๋กœํ•˜๋Š” ์œ„์˜ ๋ถ„์„์€ REST๋กœ ์ง„์ž…ํ•˜๊ธฐ ์œ„ํ•œ ์ž„๊ณ„๊ฐ’์ด ์˜์‹ฌํ•  ์—ฌ์ง€ ์—†์ด RPC๋ณด๋‹ค ๋†’๋‹ค๋Š” ๊ฒƒ์„ ๋ถ„๋ช…ํžˆ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” HTTP๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๊ณ  WEB ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ธฐ์กด ์ธํ”„๋ผ ์š”์†Œ์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ์ง€์‹์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

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

ํ•˜์ง€๋งŒ RPC์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์–‘์„ ์ทจํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ๋ฉ์ฒญํ•œ JSON-RPC? ์•„๋‹ˆ๋ฉด ์—ฌ์ „ํžˆ ๊นŒ๋‹ค๋กœ์šด REST์ธ๊ฐ€์š”? ๋‹น์‹ ์ด ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๊ท€ํ•˜์˜ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์•˜๊ธฐ๋ฅผ ์ง„์‹ฌ์œผ๋กœ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€