ํค๋๋ผ์ธ์ด ๊ฑด์ ํ ๋ฐ์์ ๋ถ๋ฌ์ผ์ผ์ผฐ๋ค๊ณ ํ์ ํฉ๋๋ค. โ์, ๋ ์์๋๋ค์...โ ํ์ง๋ง 5~10๋ถ ๋์ ์ฌ๋ฌ๋ถ์ ๊ด์ฌ์ ์ฌ๋ก์ก์ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌ๋ฌ๋ถ์ ๊ธฐ๋๋ฅผ ์ค๋ง์ํค์ง ์๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค.
๊ธฐ์ฌ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ณ ์ ๊ด๋ ์ด ์ฑํ๋๊ณ ์ด๋ฌํ ๊ณ ์ ๊ด๋ ์ด ๋ํ๋๋ "ํน์ฑ"์ด ๋๋ฌ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ ํธ์ ๋ฐ์ดํฐ ๊ตํ ํจ๋ฌ๋ค์ ์ ํ์ ์๋ก์ด ๊ฐ๋์์ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
RPC๊ฐ ๋ฌด์์ธ์ง ๋ช
ํํ ํ๊ธฐ ์ํด ํ์ค์ ๊ณ ๋ คํด ๋ณผ ๊ฒ์ ์ ์ํฉ๋๋ค.
RPC ์์ฒญ์ ์ผ๊ด ์์ฒญ์ ํ์ฉํ๋ฏ๋ก ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ ๋๋ค.
์์ ์ RPC์์๋ ํ๋์ ์์ฒญ์ผ๋ก ์ฌ๋ฌ ํ๋ก์์ ๋ฅผ ๋์์ ํธ์ถํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ํด๋น ์ฌ์ฉ์์๊ฒ ์๋ฐํ๋ฅผ ์ถ๊ฐํ ๋ค์ ๋์ผํ ์์ฒญ์ผ๋ก ํด๋น ์ฌ์ฉ์๊ฐ ์ผ๋ถ ์ฃผ์ ๋ฅผ ๊ตฌ๋ ํ๋๋ก ํ์ธ์. ๋จ ํ๋ฒ์ ์์ฒญ์ผ๋ก ์ผ๋ง๋ ๋ง์ ํํ์ ๋๋ฆฌ์๋์!
์ค์ ๋ก ๋ฐฑ์๋ ๋ ธ๋๊ฐ ํ๋๋ง ์๋ ๊ฒฝ์ฐ ์ผ๊ด ์์ฒญ์ ์ฌ์ฉํ๋ฉด ๋ ๋นจ๋ผ ๋ณด์ผ ๊ฒ์ ๋๋ค. XNUMX๊ฐ์ REST ์์ฒญ์๋ ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ์ํด ํ ๋ ธ๋์์ XNUMX๋ฐฐ ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
REST์ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ์์ฒญ์ ํ์ ์์ฒญ์ด ์ด๋ฃจ์ด์ง๋๋ก ์ฌ์ฉ์ ID๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. ์ด๋ ๋ํ ์ ์ฒด ๊ฒฐ๊ณผ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฌํ ์ธํ๋ผ๋ ์ฌ๋ด ์๋ฃจ์ ๊ณผ ์ํฐํ๋ผ์ด์ฆ์์๋ง ์ฐพ์ ์ ์์ต๋๋ค. ์ตํ์ ์๋จ์ผ๋ก ์๊ท๋ชจ WEB ํ๋ก์ ํธ์์. ๊ทธ๋ฌ๋ ๋ณธ๊ฒฉ์ ์ธ ์น ์๋ฃจ์ , ์ฌ์ง์ด HighLoad๋ผ๊ณ ๋ถ๋ฆฌ๋ ์๋ฃจ์ ๋ ๊ตฌ์ถํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ํด๋น ์ธํ๋ผ๋ ๊ณ ๊ฐ์ฉ์ฑ ๋ฐ ๋ก๋ ๊ธฐ์ค์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฆผ์ด ๋ฐ๋๊ณ ์์ต๋๋ค.
๋์ผํ ์๋๋ฆฌ์ค์ ์ธํ๋ผ ํ๋ ์ฑ๋์ ๋ น์์ผ๋ก ํ์๋ฉ๋๋ค. ์ด์ RPC๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํ์ญ์์ค. ์์ฒญ์ ๋ฐธ๋ฐ์์์ ๋ฐฑ์๋๊น์ง ํ์ชฝ ๊ตฌ๊ฐ์์๋ง ์ธํ๋ผ๋ฅผ ์ฌ์ฉํฉ๋๋ค. REST๋ ์ฌ์ ํ ์ฒซ ๋ฒ์งธ ์์ฒญ์์ ์์ค์ ์ ์ง๋ง ์ ์ฒด ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ์์ค๋ ์๊ฐ์ ๋ณด์ํฉ๋๋ค.
๋์ถ์ ๋ํ ๋ ๊ฐ์ง ์์ฒญ์ด ์๋๋ผ ์๋ฅผ ๋ค์ด XNUMX๊ฐ ๋๋ XNUMX๊ฐ ์์ฒญ์ ๋๋ณธ์ ์ ๋ ฅํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ๋ฉฐ "์ง๊ธ ๋๊ฐ ์น๋ฆฌํฉ๋๊น?"๋ผ๋ ์ง๋ฌธ์ ๋ํ ๋๋ต์ ๋๋ค. ๋ถ๋ถ๋ช ํด์ง๋๋ค.
๋๋ ๋ฌธ์ ๋ฅผ ๋์ฑ ํญ๋๊ฒ ์ดํด๋ณผ ๊ฒ์ ์ ์ํฉ๋๋ค. ๋ค์ด์ด๊ทธ๋จ์ ์ธํ๋ผ ์ฑ๋์ด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ์ฃผ์ง๋ง ์ธํ๋ผ๋ ์ฑ๋๋ก ์ ํ๋์ง ์์ต๋๋ค. ๋ก๋๊ฐ ๋ง์ ์ธํ๋ผ์ ์ค์ํ ๊ตฌ์ฑ ์์๋ ์บ์์ ๋๋ค. ์ด์ ์ผ์ข ์ ์ฌ์ฉ์ ์ํฐํฉํธ๋ฅผ ๊ฐ์ ธ์ ๋ณด๊ฒ ์ต๋๋ค. ์๊พธ. 32๋ฒ์ด๋ผ๊ณ ํด๋ณด์.
๋์ ๋ก๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด RPC ์ธํ๋ผ๊ฐ ์ด๋ป๊ฒ ํฌ๊ฒ ๊ฐ์ ๋์๋์ง ํ์ธํ์ธ์. ์ค์ํ ๊ฒ์ REST๊ฐ RPC์ ๋ฌ๋ฆฌ HTTP ํ๋กํ ์ฝ์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ค์ด์ด๊ทธ๋จ์์ ์ด ๊ธฐ๋ฅ์ ์์ฒญ ๋ฉ์๋์ธ GET์ ํตํด ์คํ๋ฉ๋๋ค.
๋ฌด์๋ณด๋ค๋ HTTP ๋ฉ์๋์๋ ์บ์ฑ ์ ๋ต์ด ์์ต๋๋ค. ๋ค์ ๋ฌธ์์์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก RPC๋ ์ธํ๋ผ ์บ์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ํํธ์จ์ด ์บ์๋ฅผ "๊ฐ์ ธ์ค๊ธฐ"ํด์ผ ํฉ๋๋ค. ๋ค์ด์ด๊ทธ๋จ์ ์ด ์ญํ ์ Redis๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ทธ๋ฌ๋ฉด ์ํํธ์จ์ด ์บ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๊ฐ๋ฐ์๊ฐ ์ฝ๋ ๊ณ์ธต์ ์ถ๊ฐํ๊ณ ์ํคํ ์ฒ์ ๋์ ๋๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ด์ ๊ณ ๋ ค ์ค์ธ ์ธํ๋ผ์์ REST ๋ฐ RPC๊ฐ ์ผ๋ง๋ ๋ง์ ์์ฒญ์ "์์ฑ"ํ๋์ง ๊ณ์ฐํด ๋ณด๊ฒ ์ต๋๋ค.
์์ฒญ
๋ฐ์ ํธ์งํจ
๋ฐฑ์๋์
DBMS์
์ํํธ ์บ์(Redis)
TOTAL
REST
1 / 32 *
1
1
0
3 / 35
RPC
32
32
1
31
96
์ฒซ ๋ฒ์งธ ๊ณํ๊ณผ ๋น๊ตํ๋ฉด ์ฐจ์ด์ ์ด ๋๋๋ฌ์ง๋๋ค. ์ด์ REST์ ์ด์ ์ด ๋ถ๋ช ํด์ก์ต๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ ๋ฉ์ถ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ๋ฐ๋ ์ธํ๋ผ์๋ CDN์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ข ์ข DDoS ๋ฐ DoS ๊ณต๊ฒฉ ๋์ ๋ฌธ์ ๋ ํด๊ฒฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์์ ์ป์ต๋๋ค:
์ด๊ฒ์ด ๋ฐ๋ก RPC์ ์ํฉ์ด ์ ๋ง ๋๋น ์ง๋ ๋ถ๋ถ์ ๋๋ค. RPC๋ ์์ ๋ถํ๋ฅผ CDN์ ์์ํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ณต๊ฒฉ์ ๋์ํ๊ธฐ ์ํด ์์คํ ์๋ง ์์กดํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ๋๋ด๋ ๋๋์? ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋งํ์ง๋ง, ์๋๋๋ค. ์์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ HTTP ๋ฉ์๋์๋ ๊ณ ์ ํ "๋ง๋ฒ"์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ GET ๋ฐฉ์์ด ์ธํฐ๋ท์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ฒ์ ๋น์ฐํ ์ผ์ ๋๋ค. ์ด ๋ฉ์๋๋ ์ฝํ ์ธ ์ ์ก์ธ์คํ ์ ์๊ณ ์ ์ด๊ถ์ด ์ฝ๋๋ก ์ ์ก๋๊ธฐ ์ ์ ์ธํ๋ผ ์์๊ฐ ํด์ํ ์ ์๋ ์กฐ๊ฑด์ ์ค์ ํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ธฐ๋ฅ์ ํตํด ๋๊ท๋ชจ ์์ฒญ ํ๋ฆ์ ์ฒ๋ฆฌํ ์ ์๋ ์ ์ฐํ๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ํ์ง๋ง RPC์์๋ ์ด ๋ฐฉ๋ฒ์ด... ๋ฌด์๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ผ๊ด ์์ฒญ(RPC)์ด ๋ ๋น ๋ฅด๋ค๋ ํต๋ ์ด ์ ๊ทธ๋ ๊ฒ ๋์ง๊ธฐ๊ฒ ์กด์ฌํ๋ ๊ฑธ๊น์? ๊ฐ์ธ์ ์ผ๋ก ๋๋ถ๋ถ์ ํ๋ก์ ํธ๋ REST๊ฐ ๊ทธ ๊ฐ์ ์ ๋ณด์ฌ์ค ์ ์๋ ๊ฐ๋ฐ ์์ค์ ๋๋ฌํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋์ฑ์ด ๊ทธ๋ ์๊ท๋ชจ ํ๋ก์ ํธ์์ ์์ ์ ์ฝ์ ์ ๋ ๊ธฐ๊บผ์ด ๋ณด์ฌ์ค๋๋ค.
REST ๋๋ RPC์ ์ ํ์ ํ๋ก์ ํธ์์ ๊ฐ์ธ์ ์์ง์ ์ธ ์ ํ์ด ์๋๋๋ค. ์ด ์ ํ์ ํ๋ก์ ํธ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. ํ๋ก์ ํธ๊ฐ REST์์ ์ค์ ๋ก ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ ์ง๋ผ ์ ์๊ณ ์ค์ ๋ก ํ์ํ ๊ฒฝ์ฐ REST๋ ํ์ํ ์ ํ์ด ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ REST์ ๋ชจ๋ ์ด์ ์ ์ป์ผ๋ ค๋ฉด ์ธํ๋ผ๋ฅผ ์ ์ํ๊ฒ ํ์ฅํ๊ธฐ ์ํ ํ๋ก์ ํธ์ฉ ๋ฐ๋ธ์ต์ค ์ ๋ฌธ๊ฐ, ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ด๋ฆฌ์, ์น ์๋น์ค์ ๋ชจ๋ ๊ณ์ธต์ ์ค๊ณํ๊ธฐ ์ํ ์ค๊ณ์... ๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ๋ฅผ ์ํ ๋ฐ๋ธ์ต์ค ์ ๋ฌธ๊ฐ๋ฅผ ๊ณ ์ฉํด์ผ ํฉ๋๋ค. , ๋์์ ํ๋ฃจ์ ๋ง๊ฐ๋ฆฐ ์ธ ํฉ์ ํ๋งคํฉ๋๋ค... ์ ๋ RPC๋ฅผ ๊ณ ์ํ๊ฒ ์ต๋๋ค. ์๋๋ฉด... ์ด ํ๋กํ ์ฝ์ด ๋ ์ค์ฉ์ ์ ๋๋ค. ์บ์์ ์ธํ๋ผ ์๋ ๋ฐฉ์์ ๋ํ ๊น์ ์ง์์ด ํ์ํ์ง ์์ง๋ง ๊ฐ๋ฐ์๋ ํ์ํ ์ ์ฐจ์ ๋ํ ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ํธ์ถ์ ์ง์คํ ๊ฒ์ ๋๋ค. ์ฌ์ ์ ํ๋ณตํ ๊ฒ์ ๋๋ค.
RPC ์์ฒญ์ ๋จ์ผ ํธ๋์ญ์ ๋ด์์ ์ผ๊ด ์์ฒญ์ ์คํํ ์ ์์ผ๋ฏ๋ก ๋ ์์ ์ ์ ๋๋ค.
RPC์ ์ด๋ฌํ ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ํ์คํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ ์ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ REST๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ๋ ๋ณต์กํด์ง๋๋ค. ์์ฒญ์ด ์๋ก ๋ค๋ฅธ ๋ฐฑ์๋ ๋ ธ๋์ ์ผ๊ด๋์ง ์๊ฒ ๋์ฐฉํ ์ ์์ต๋๋ค.
REST์ ์ด๋ฌํ "๋จ์ "์ ์์์ ์ค๋ช ํ ์ฅ์ (๋ชจ๋ ์ธํ๋ผ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฅ๋ ฅ)์ ๋ฐ๋ ์ธก๋ฉด์ ๋๋ค. ์ธํ๋ผ๊ฐ ์ ๋๋ก ์ค๊ณ๋์ง ์์ ๊ฒฝ์ฐ, ํนํ ํ๋ก์ ํธ ์ํคํ ์ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ๋๋ก ์ค๊ณ๋์ง ์์ ๊ฒฝ์ฐ ์ด๋ ์ ๋ง ํฐ ๊ณ ํต์ ๋๋ค.
ํ์ง๋ง ์ผ๊ด ์์ฒญ์ด ๋ณด๊ธฐ๋งํผ ์ ๋ขฐํ ์ ์์๊น์? ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ๋ช ๊ฐ์ง ์ค๋ช ์ผ๋ก ํ๋กํ์ ๋ณด๊ฐํ ๋ค์ ๊ทธ์๊ฒ ๋น๋ฐ ์ ๋ณด๊ฐ ํฌํจ๋ SMS๋ฅผ ๋ณด๋ด ๋ฑ๋ก์ ์๋ฃํฉ๋๋ค. ์ ๊ฒ๋ค. ํ๋์ ์ผ๊ด ์์ฒญ์ผ๋ก ์ธ ๋ฒ์ ํธ์ถ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ค์ด์ด๊ทธ๋จ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค. ๊ณ ๊ฐ์ฉ์ฑ ์์๋ฅผ ๊ฐ์ถ ์ธํ๋ผ๋ฅผ ์ ๊ณตํฉ๋๋ค. SMS ๊ฒ์ดํธ์จ์ด์๋ ๋ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ํต์ ์ฑ๋์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ... ์ฐ๋ฆฌ๋ ๋ฌด์์ ๋ด ๋๊น? SMS๋ฅผ ๋ณด๋ผ ๋ ์ค๋ฅ 503์ด ๋ฐ์ํฉ๋๋ค. ์๋น์ค๋ฅผ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ํ๋ฉด SMS ์ ์ก์ ์ผ๊ด ์์ฒญ์ผ๋ก ํจํค์ง๋๋ฏ๋ก ์ ์ฒด ์์ฒญ์ ๋กค๋ฐฑํด์ผ ํฉ๋๋ค. DBMS์ ์์ ์ด ์ทจ์๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ค์ ์๋๋ ๋ณต๊ถ์ ๋๋ค. ์์ฒญ์ด ๋์ผํ ๋ ธ๋์ ๋ค์ ๋๋ฌํ๊ณ ๋ค์ ์ค๋ฅ๋ฅผ ๋ฐํํ๊ฑฐ๋ ์ด์ด ์ข์์ ์คํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ ์ด๋ ํ ๋ฒ์ ์ฐ๋ฆฌ ์ธํ๋ผ๊ฐ ์ด๋ฏธ ํ๋์ด ์๋ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ง์ ์์์ง๋ง ์ด์ต์ ์์์ต๋๋ค.
์ข์์, ์ฐ๋ฆฌ๊ฐ ๊ธด์ฅ์ ํ๊ณ (!) ์์ฒญ์ด ๋ถ๋ถ์ ์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ์ ์๋ ์ต์ ์ ์๊ฐํด ๋ดค๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ์ ์๊ฐ ๊ฐ๊ฒฉ์ ๋๊ณ ๋๋จธ์ง ๋ถ๋ถ์ ๋ค์ ์๋ฃํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค(์ด๋ ๊ฒ์ ๋๊น? ์ ๋ฉด์์ ๊ฒฐ์ ํฉ๋๊น?). ๊ทธ๋ฌ๋ ๋ณต๊ถ์ ๋์ผํ๊ฒ ์ ์ง๋์์ต๋๋ค. SMS ์ ์ก ์์ฒญ์ด ๋ค์ ์คํจํ ํ๋ฅ ์ 50/50์ ๋๋ค.
ํด๋ผ์ด์ธํธ ์ธก์์ ๋ณด๋ฉด ์๋น์ค๊ฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋งํผ ์์ ์ ์ด์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. 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์ ๋ํด์๋ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์์ ์ทจํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ ํ์ํฉ๋๊น?
์ ๊ฐ ๊ทํ์ ์๊ฐ์ ๋ญ๋นํ์ง ์์๊ธฐ๋ฅผ ์ง์ฌ์ผ๋ก ๋ฐ๋๋๋ค.
์ถ์ฒ : habr.com