๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/gRPC2

RPC vs gRPC RPC (Remote Procedure Call)ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC)์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ํ•˜๋“ฏ์ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋‚˜ ์„œ๋ฒ„์˜ Procedure(ํ•จ์ˆ˜)๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฐœ๋…ํ•ต์‹ฌ ๊ฐœ๋…: ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์„œ๋ฒ„์˜ ํ•จ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๋Š”๋‹ค.์ž‘๋™ ๋ฐฉ์‹:ํด๋ผ์ด์–ธํŠธ๋Š” ํ˜ธ์ถœํ•˜๋ ค๋Š” ํ•จ์ˆ˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์•Œ์ง€๋งŒ, ํ•จ์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ์‹คํ–‰๋˜๋Š” ์„œ๋ฒ„์˜ ์œ„์น˜๋Š” ์ถ”์ƒํ™”๋˜์–ด ์žˆ๋‹ค.์š”์ฒญ์€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๊ณ , ๊ฒฐ๊ณผ๋Š” ๋ฐ˜ํ™˜๋œ๋‹ค.๊ตฌํ˜„ ๋ฐฉ์‹:XML-RPCJSON-RPCSOAP ๋“ฑ …์žฅ์ :๋กœ์ปฌ ํ˜ธ์ถœ์ฒ˜๋Ÿผ ๋ณด์ด๋„๋ก ์ถ”์ƒํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ๋‹จ์ :๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ์— ์˜์กด๋ฐ์ดํ„ฐ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”์— ์ถ”๊ฐ€ ๋น„์šฉ ๋ฐœ์ƒ์ƒํ˜ธ ์šด์šฉ์„ฑ ์ œํ•œ(๋‹ค๋ฅธ ์–ธ์–ด๋‚˜ ์‹œ์Šคํ…œ ๊ฐ„ ์—ฐ๊ฒฐ์ด ๋ณต์žกํ•  ์ˆ˜ ์žˆ๋‹ค)gRPCRPC์˜ ํ˜„๋Œ€์ .. 2025. 1. 14.
[python] gRPC ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ gRPC์™€ websocket์„ ๋น„๊ตํ•ด๋ณด์•˜๋‹ค [gRPC] gRPC๊ณผ websocket ๋น„๊ต ์ •๋ฆฌ๊ธฐ์กด์— ๊ฐœ๋ฐœํ–ˆ๋˜ ์„œ๋น„์Šค์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ํ†ต์‹ ์„ websocket ์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค.๋‹ค ๋๋‚ด๊ณ ๋‚˜์„œ ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ข€ ๋” ์„œ์น˜ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค๊ทธ๋ ‡๊ฒŒ ์•Œ๊ฒŒ๋œ gRPC. ์ •๋ฆฌํ•ด๋ณด์ž โœ… gRPCbonory.tistory.com ์ต์ˆ™ํ•˜์ง€ ์•Š์€ gRPC๋ฅผ python์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค 1. Protocol Buffers (Protobuf) ์ •์˜gRPC์˜ ํ•ต์‹ฌ์€ API ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” Protobuf ํŒŒ์ผ์ด๋‹ค!.proto ํŒŒ์ผ ์ž‘์„ฑํ•œ๋‹ค = ์„œ๋น„์Šค์™€ ๋ฉ”์‹œ์ง€์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•œ๋‹ค greeter.protosyntax = "proto3";service Greeter { rpc Sa.. 2025. 1. 2.