728x90
๋ฐ˜์‘ํ˜•
[gRPC] ์„œ๋น„์Šค ์ •์˜ ๋ฐ JSON ๋งคํ•‘

Service ์ •์˜ํ•˜๊ธฐ RPC(Remote Procedure Call, ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ) ์‹œ์Šคํ…œ์—์„œ ๋ฉ”์‹œ์ง€ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ .proto ํŒŒ์ผ์— RPC ์„œ๋น„์Šค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๋ฉด ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์„ ํƒํ•œ ์–ธ์–ด๋กœ ์„œ๋น„์Šค ์ธํ„ฐํŽ˜์ด์Šค ์ฝ”๋“œ์™€ ์Šคํ…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, SearchRequest๋ฅผ ๋ฐ›์•„ SearchResponse๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋กœ RPC ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด .proto ํŒŒ์ผ์— ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. service SearchService { rpc Search(SearchRequest) returns (SearchResponse); } ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ RPC ์‹œ์Šคํ…œ์ด ๋ฐ”๋กœ Google์—์„œ ๊ฐœ๋ฐœํ•œ ์–ธ์–ด ๋ฐ ํ”Œ๋žซํผ์— ๋Œ€ํ•ด ์ค‘๋ฆฝ..

gRPC 2021. 8. 9. 10:30
[gRPC] Map, Package

Map ๋ฉ”์‹œ์ง€๋ฅผ ์ •์˜ํ•  ๋•Œ ๋งต์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋Š” ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. map map_field = N; key_type์€ ์ •์ˆ˜๋‚˜ ๋ฌธ์ž์—ด ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์Šค์นผ๋ผ ํƒ€์ž… ์ค‘ ๋ถ€๋™ ์†Œ์ˆ˜์ ์ด๋‚˜ ๋ฐ”์ดํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ํƒ€์ž…์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์—ด๊ฑฐํ˜•์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. value_type์€ ๋‹ค๋ฅธ map์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. map projects = 3; ์ด๋ ‡๊ฒŒ ๋ฌธ์ž์—ด์— Project๋ผ๋Š” ๋ฉ”์‹œ์ง€ ํƒ€์ž…์„ ๋งคํ•‘ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. map์€ ์–ด๋–ค ์–ธ์–ด์—์„œ๋“  ์‚ฌ์šฉ๋ฒ•์ด๋‚˜ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋น„์Šทํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. map์€ repeated ํƒ€์ž…์ด ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. map์˜ item๋“ค์€ ์ˆœ์„œ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. .proto ํƒ€์ž…์— ๋Œ€ํ•œ ํ…..

gRPC 2021. 8. 9. 01:59
728x90
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
Total
83,835
Today
55
Yesterday
439
๋งํฌ
«   2021/08   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
๊ธ€ ๋ณด๊ด€ํ•จ