gRPC ๋™๊ธฐ ๋ถ€์—ฌ ๋ฐ ๋””์ž์ธ ์›์น™(Motivation and Design Principles)
ยท
IT/gRPC
Motivation Google์€ Stubby๋ผ๋Š” ๋‹จ์ผ ๋ฒ”์šฉ RPC ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 10๋…„ ๋„˜๊ฒŒ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋‚ด๋ถ€ ๋ฐ ์ „์ฒด์—์„œ ์‹คํ–‰๋˜๋Š” ์ˆ˜๋งŽ์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋‚ด๋ถ€ ์‹œ์Šคํ…œ์€ ์˜ค๋Š˜๋‚  ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ˆ˜์šฉํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๊ท ์ผํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ RPC ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ํšจ์œจ์„ฑ, ๋ณด์•ˆ, ์‹ ๋ขฐ์„ฑ ๋ฐ ํ–‰๋™ ๋ถ„์„์—์„œ ํ”Œ๋ฆฟ ์ „๋ฐ˜์˜ ๊ฐœ์„ ์„ ๋กค์•„์›ƒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Stubby์—๋Š” ๋งŽ์€ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋‚ด๋ถ€ ์ธํ”„๋ผ์™€ ๋„ˆ๋ฌด ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค์— ์ ํ•ฉํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. SPDY, HTTP/2 ๋ฐ QUIC์˜ ์ถœํ˜„์œผ๋กœ Stubby๊ฐ€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์ด๋Ÿฌํ•œ ๋™์ผํ•œ ๊ธฐ๋Šฅ ์ค‘ ๋งŽ์€ ๋ถ€๋ถ„์ด ๊ณต๊ฐœ ํ‘œ์ค€์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ..