gRPC ๋™๊ธฐ ๋ถ€์—ฌ ๋ฐ ๋””์ž์ธ ์›์น™(Motivation and Design Principles)
ยท
IT/gRPC
Motivation Google์€ Stubby๋ผ๋Š” ๋‹จ์ผ ๋ฒ”์šฉ RPC ์ธํ”„๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 10๋…„ ๋„˜๊ฒŒ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋‚ด๋ถ€ ๋ฐ ์ „์ฒด์—์„œ ์‹คํ–‰๋˜๋Š” ์ˆ˜๋งŽ์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋‚ด๋ถ€ ์‹œ์Šคํ…œ์€ ์˜ค๋Š˜๋‚  ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ˆ˜์šฉํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๊ท ์ผํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ RPC ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ํšจ์œจ์„ฑ, ๋ณด์•ˆ, ์‹ ๋ขฐ์„ฑ ๋ฐ ํ–‰๋™ ๋ถ„์„์—์„œ ํ”Œ๋ฆฟ ์ „๋ฐ˜์˜ ๊ฐœ์„ ์„ ๋กค์•„์›ƒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Stubby์—๋Š” ๋งŽ์€ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋‚ด๋ถ€ ์ธํ”„๋ผ์™€ ๋„ˆ๋ฌด ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋˜์–ด ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค์— ์ ํ•ฉํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. SPDY, HTTP/2 ๋ฐ QUIC์˜ ์ถœํ˜„์œผ๋กœ Stubby๊ฐ€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ์ด๋Ÿฌํ•œ ๋™์ผํ•œ ๊ธฐ๋Šฅ ์ค‘ ๋งŽ์€ ๋ถ€๋ถ„์ด ๊ณต๊ฐœ ํ‘œ์ค€์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ..
gRPC ํ•ต์‹ฌ ๊ฐœ๋…, ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์ˆ˜๋ช… ์ฃผ๊ธฐ(Core concepts, architecture and lifecycle)
ยท
IT/gRPC
gRPC์— ์ต์ˆ™ํ•˜์ง€ ์•Š์œผ์‹ ๊ฐ€์š”? ๋จผ์ € gRPC ์†Œ๊ฐœ๋ฅผ ์ฝ์–ด ๋ณด์‹ญ์‹œ์˜ค. ์–ธ์–ด๋ณ„ ์„ธ๋ถ€ ์ •๋ณด๋Š” ์„ ํƒํ•œ ์–ธ์–ด์— ๋Œ€ํ•œ ๋น ๋ฅธ ์‹œ์ž‘, ์ž์Šต์„œ ๋ฐ ์ฐธ์กฐ ์„ค๋ช…์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. Overview Service definition ๋งŽ์€ RPC ์‹œ์Šคํ…œ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ gRPC๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ฐ ๋ฐ˜ํ™˜ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ gRPC๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์„œ๋น„์Šค ์ธํ„ฐํŽ˜์ด์Šค์™€ ํŽ˜์ด๋กœ๋“œ ๋ฉ”์‹œ์ง€์˜ ๊ตฌ์กฐ๋ฅผ ๋ชจ๋‘ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ IDL(์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ ์–ธ์–ด)๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋Œ€์•ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. service HelloService { rpc SayHello (HelloRequest) returns (HelloResponse); } mes..
gRPC ๋ž€?(Introduction to Remote Procedure Calls)
ยท
IT/gRPC
์ด ํŽ˜์ด์ง€์—์„œ๋Š” gRPC ๋ฐ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. gRPC๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ IDL(์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ ์–ธ์–ด) ๋ฐ ๊ธฐ๋ณธ ๋ฉ”์‹œ์ง€ ๊ตํ™˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. gRPC ๋ฐ/๋˜๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๋‚ด์šฉ์„ ์ฝ์–ด๋ณด์„ธ์š”. ๋จผ์ € gRPC๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๋ ค๋ฉด ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๊ณ  ๋น ๋ฅธ ์‹œ์ž‘์„ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. Overview gRPC์—์„œ ํด๋ผ์ด์–ธํŠธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋กœ์ปฌ ๊ฐœ์ฒด์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ์„œ๋ฒ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ถ„์‚ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์„œ๋น„์Šค๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ RPC ์‹œ์Šคํ…œ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ gRPC๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ฐ ๋ฐ˜ํ™˜ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ชฝ์—์„œ..