2025๋…„ 11์›” 10์ผยท6๋ถ„ ์ฝ๊ธฐ

gRPC ์ŠคํŠธ๋ฆฌ๋ฐ vs REST ํด๋ง: ์–ธ์ œ ์ง„์งœ๋กœ ์ค‘์š”ํ•œ๊ฐ€

์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ์™€ ์ง„ํ–‰๋ฅ  ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์˜ˆ์‹œ์™€ ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฉํ™”๋ฒฝ ๊ด€๋ จ ์ฃผ์˜์‚ฌํ•ญ์„ ํฌํ•จํ•ด, ์–ธ์ œ gRPC ์ŠคํŠธ๋ฆฌ๋ฐ์ด REST ํด๋ง๋ณด๋‹ค ๋‚˜์€์ง€ ์•Œ์•„๋ณด์„ธ์š”.

gRPC ์ŠคํŠธ๋ฆฌ๋ฐ vs REST ํด๋ง: ์–ธ์ œ ์ง„์งœ๋กœ ์ค‘์š”ํ•œ๊ฐ€

๋ฌธ์ œ: ์—…๋ฐ์ดํŠธ ์š”์ฒญ vs ์—…๋ฐ์ดํŠธ ์ˆ˜์‹ 

ํด๋ง์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํƒ€์ด๋จธ์— ๋งž์ถฐ(์˜ˆ: 1์ดˆ, 5์ดˆ, 30์ดˆ๋งˆ๋‹ค) ์„œ๋ฒ„์—๊ฒŒ ๊ณ„์†ํ•ด์„œ "์—…๋ฐ์ดํŠธ ์žˆ๋‚˜์š”?"๋ผ๊ณ  ๋ฌป๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•œ ๋ฒˆ ์—ฐ๊ฒฐ์„ ์—ด๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ๊ทธ๋•Œ๊ทธ๋•Œ ๋ณด๋‚ด๊ณ , ๋‹ค์Œ ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ด ํ•œ ๊ฐ€์ง€ ์ฐจ์ด ๋•Œ๋ฌธ์— ์ž‘์€ ๋ฐ๋ชจ์—์„œ๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ํด๋ง์ด ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ์‹ค์ œ ์ œํ’ˆ์—์„œ๋Š” ์ „ํ˜€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํด๋ง์—์„œ๋Š” ๋ฏธ๋ฆฌ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ๋” ๋น ๋ฅธ ์—…๋ฐ์ดํŠธ๋Š” ๋” ๋งŽ์€ ์š”์ฒญ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์—์„œ๋Š” ์—ฐ๊ฒฐ์„ ์—ด์–ด๋‘๊ณ  ์‹ค์ œ๋กœ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์‹ค๋ฌด์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์š”์ธ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค:

ํด๋ง์€ ์„ ํƒํ•œ ๊ฐ„๊ฒฉ๋งŒํผ๋งŒ ์ตœ์‹  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ˜๋ฉด, ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๊ฑฐ์˜ ์ฆ‰์‹œ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ง์€ ๋˜ํ•œ ๋งŽ์€ "๋ณ€๊ฒฝ ์—†์Œ" ์‘๋‹ต์„ ๋งŒ๋“ค์–ด ์–‘์ชฝ ๋ชจ๋‘์— ๋น„์šฉ์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค(์š”์ฒญ, ํ—ค๋”, ์ธ์ฆ ํ™•์ธ, ํŒŒ์‹ฑ). ๋ชจ๋ฐ”์ผ์—์„œ๋Š” ๋นˆ๋ฒˆํ•œ ํด๋ง์ด ๋„คํŠธ์›Œํฌ ๋ผ๋””์˜ค๋ฅผ ์ž์ฃผ ๊นจ์›Œ ๋ฐฐํ„ฐ๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ์†Œ๋ชจ๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํด๋ง์€ ์ƒํƒœ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๊ฒฉ ์‚ฌ์ด์— ์ผ์–ด๋‚œ ๋น ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋†“์น  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž˜ ์„ค๊ณ„๋œ ์ŠคํŠธ๋ฆผ์€ ์ด๋ฒคํŠธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ๋กœ ์ƒˆ ์ฃผ๋ฌธ๊ณผ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์‹ค์‹œ๊ฐ„ ์šด์˜ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‰์˜จํ•œ ๋‚ ์—๋Š” 10์ดˆ๋งˆ๋‹ค ํด๋งํ•ด๋„ ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŒ€์ด 1์ดˆ ๋‚ด ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ๋Œ€ํ•œ๋‹ค๋ฉด ํด๋ง์€ ๋А๋ฆฌ๊ฒŒ ๋А๊ปด์ง€๊ฑฐ๋‚˜ ์„œ๋ฒ„๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์š”์ฒญํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์•ฑ์ด ์‹ค์‹œ๊ฐ„์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฑด ์•„๋‹™๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€๋” ํ•œ ๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: ์›”๋ณ„ ๋ณด๊ณ ์„œ)์—๋Š” 1๋ถ„ ๊ฐ„๊ฒฉ ํด๋ง์ด๋‚˜ ์ˆ˜๋™ ์ƒˆ๋กœ๊ณ ์นจ์ด ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์ข‹์€ ์„ ํƒ์ผ ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

ํด๋ง์ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ์ƒํ™ฉ๋“ค

ํด๋ง์€ ๊ฐ„๋‹จํ•ด ๋ณด์ž…๋‹ˆ๋‹ค: ํด๋ผ์ด์–ธํŠธ๊ฐ€ N์ดˆ๋งˆ๋‹ค "์ƒˆ๋กœ์šด ๊ฒŒ ์žˆ๋‚˜?"๋ผ๊ณ  ๋ฌป์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๊ฐ€ ๋“œ๋ฌผ๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ์ ๊ฑฐ๋‚˜ ๋ช‡ ์ดˆ์˜ ์ง€์—ฐ์ด ๋ฌธ์ œ๋˜์ง€ ์•Š์„ ๋•Œ๋Š” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์ž์ฃผ ์ตœ์‹ ์„ฑ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๊ฑฐ๋‚˜ ๋‘˜ ๋‹ค์ผ ๋•Œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์ „ํ˜•์ ์ธ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ์—ด๋ฆฐ ํ‹ฐ์ผ“, ๊ฒฐ์ œ ์‹คํŒจ, ๋ ˆ๋“œ ์•Œ๋ฆผ์„ ๋ณด์—ฌ์ฃผ๋Š” ์šด์˜ ํ™”๋ฉด์„ ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ์ˆซ์ž๊ฐ€ ๋ช‡ ์ดˆ๋งˆ๋‹ค ๋ณ€ํ•œ๋‹ค๋ฉด ํด๋ง์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ŠคํŒŒ์ดํฌ๋ฅผ ๋†“์น˜๊ฒŒ ํ•˜๊ฑฐ๋‚˜ API๋ฅผ ๋‘๋“œ๋ ค๋Œ€๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ์Šต๋‹ˆ๋‹ค(์„œ๋ฒ„๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ "๋ณ€๊ฒฝ ์—†์Œ"์— ์‘๋‹ตํ•˜๋Š” ๋ฐ ์ž์›์„ ์†Œ๋น„ํ•จ).

์ง„ํ–‰ ์ƒํ™ฉ ์—…๋ฐ์ดํŠธ๋„ ํ”ํ•œ ํ•จ์ •์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ, ๋ณด๊ณ ์„œ ์ƒ์„ฑ, ๋น„๋””์˜ค ์ฒ˜๋ฆฌ ๊ฐ™์€ ์ž‘์—…์€ ์ข…์ข… ๋ช‡ ๋ถ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ดˆ๋‹น ํด๋งํ•˜๋ฉด UI๋Š” "์‹ค์‹œ๊ฐ„"์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๋งŽ์€ ์ถ”๊ฐ€ ์š”์ฒญ์„ ๋งŒ๋“ค๊ณ  ์—ฌ์ „ํžˆ ์ ํ”„ํ•˜๋Š” ๋“ฏํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ค๋‹ˆ๋‹ค(ํด๋ผ์ด์–ธํŠธ๋Š” ์Šค๋ƒ…์ƒท๋งŒ ๋ณด๊ธฐ ๋•Œ๋ฌธ).

์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ๋„์ฐฉ๋„ ํด๋ง์„ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ฑ„ํŒ…, ์ง€์› ๋Œ€๊ธฐ์—ด, ์‹ ๊ทœ ์ฃผ๋ฌธ์€ 10๋ถ„ ๋™์•ˆ ์กฐ์šฉํ•˜๋‹ค๊ฐ€ 30์ดˆ ๋™์•ˆ ํญ์ฃผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ง์€ ์กฐ์šฉํ•œ ์‹œ๊ฐ„ ๋™์•ˆ ๋น„์šฉ์„ ์ง€๋ถˆ์‹œํ‚ค๊ณ  ํญ์ฃผ ์‹œ์—๋Š” ์ง€์—ฐ ์œ„ํ—˜์„ ๋‚จ๊น๋‹ˆ๋‹ค.

IoT ์Šคํƒ€์ผ ์‹ ํ˜ธ๋Š” ๋ฌธ์ œ๋ฅผ ๋” ์•…ํ™”์‹œํ‚ต๋‹ˆ๋‹ค. ์žฅ์น˜์˜ ์˜จ๋ผ์ธ/์˜คํ”„๋ผ์ธ ์ƒํƒœ, last seen, ์ž‘์€ ๋ฉ”ํŠธ๋ฆญ์„ ์ถ”์ ํ•  ๋•Œ ์ˆ˜์ฒœ ๊ฑด์˜ ์ž‘์€ ๋ณ€๊ฒฝ์ด ๋ˆ„์ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ง์€ ์ด๋ฅผ ์ง€์†์ ์ธ ์š”์ฒญ์˜ ํ๋ฆ„์œผ๋กœ ์ฆํญ์‹œํ‚ต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒจํ„ด์ด ๋ณด์ผ ๋•Œ ํด๋ง์€ ์ด๋ฏธ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค: ํŒ€์ด ์‘๋‹ต์„ฑ์„ ์œ„ํ•ด ๊ฐ„๊ฒฉ์„ 1~2์ดˆ๋กœ ๋‚ฎ์ถ”๊ณ ; ๋Œ€๋ถ€๋ถ„์˜ ์‘๋‹ต์ด ์—…๋ฐ์ดํŠธ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์ง€๋งŒ ํ—ค๋”์™€ ์ธ์ฆ์„ ์†Œ๋ชจํ•˜๊ณ ; ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์‹ค์ œ ๋ณ€๊ฒฝ์ด ์•„๋‹ˆ๋ผ ์—ด๋ฆฐ ํƒญ ์ˆ˜์— ๋น„๋ก€ํ•ด ์ฆ๊ฐ€ํ•˜๊ณ ; ๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฐํ„ฐ๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ๋ฌธ์ œ๋ฅผ ํ˜ธ์†Œํ•˜๊ณ ; ์‚ฌ๋žŒ๋“ค์ด ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์—ด ๋•Œ ํŠธ๋ž˜ํ”ฝ ๊ธ‰์ฆ์ด ๋ฐœ์ƒํ•œ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์ด ์‹ค๋ฌด์—์„œ ํด๋ง์„ ์ด๊ธธ ์ˆ˜ ์žˆ๋Š” ์ด์œ 

์ŠคํŠธ๋ฆฌ๋ฐ์˜ ํ•ต์‹ฌ ์ด์ ์€ ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค: ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ต์ด "๋ณ€๊ฒฝ ์—†์Œ"์ผ ๋•Œ ์„œ๋ฒ„์—๊ฒŒ ๊ฐ™์€ ์งˆ๋ฌธ์„ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํด๋ง์—์„œ๋Š” ์•ฑ์ด ํƒ€์ด๋จธ์— ๋งž์ถฐ ๊ณ„์† ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ถˆํ•„์š”ํ•œ ํŠธ๋ž˜ํ”ฝ, ์ถ”๊ฐ€ ํŒŒ์‹ฑ, ํƒ€์ž„์•„์›ƒ ๊ฐ€๋Šฅ์„ฑ์ด ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ ์—ฐ๊ฒฐ์„ ์—ด์–ด๋‘๊ณ  ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ๋งŒ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋ฌธ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๋ฉ”ํŠธ๋ฆญ์ด ์ž„๊ณ„๊ฐ’์„ ๋„˜๊ธฐ๊ฑฐ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด 40%์—์„œ 41%๋กœ ์ด๋™ํ•˜๋ฉด, ๋‹ค์Œ ํด๋ง ์ฐฝ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ์ฆ‰์‹œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์—ฐ ๊ฐ์†Œ๋Š” ๋‹จ์ˆœํžˆ ์†๋„๋งŒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. UI์˜ ๋А๋‚Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ํด๋ง์€ ์ข…์ข… ๋ˆˆ์— ๋„๋Š” "๋„์•ฝ"์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค: ์Šคํ”ผ๋„ˆ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๊บผ๋ฒˆ์— ์ƒˆ๋กœ๊ณ ์นจ๋˜๋ฉฐ ์ˆซ์ž๊ฐ€ ํ™• ํŠ€์–ด ์˜ค๋ฆ…๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋” ์ž‘๊ณ  ์žฆ์€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋” ๋ถ€๋“œ๋Ÿฝ๊ณ  ์‹ ๋ขฐ๊ฐ ์žˆ๋Š” ๋А๋‚Œ์„ ์ค๋‹ˆ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์€ ์„œ๋ฒ„ ์ž‘์—…์„ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ง์€ ๋Œ€๊ฐœ ๋งค๋ฒˆ ์ „์ฒด ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ, 99%๊ฐ€ ์ด์ „ ์‘๋‹ต๊ณผ ๋™์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ์—์„œ๋Š” ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์–ด ๋ฐ”์ดํŠธ ์ˆ˜, ๋ฐ˜๋ณต์ ์ธ DB ์ฝ๊ธฐ, ์ง๋ ฌํ™” ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค๋ฌด์—์„œ ์ฐจ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: ํด๋ง์€ ์ข…์ข… "์•„๋ฌด ๊ฒƒ๋„ ์ƒˆ๋กœ ์—†์Œ"์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์งง์€ ์š”์ฒญ์„ ๋งŽ์ด ๋งŒ๋“ ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ํ•˜๋‚˜์˜ ์žฅ๊ธฐ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค. ํด๋ง ์ง€์—ฐ์€ ์„ ํƒํ•œ ๊ฐ„๊ฒฉ(2์ดˆ, 10์ดˆ ๋“ฑ)์— ๋ฌถ์—ฌ ์žˆ์ง€๋งŒ ์ŠคํŠธ๋ฆฌ๋ฐ ์ง€์—ฐ์€ ์ด๋ฒคํŠธ ์ž์ฒด์— ๋ฌถ์ž…๋‹ˆ๋‹ค(์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ‰์‹œ ๋ณธ๋‹ค). ํด๋ง ์‘๋‹ต์€ ์ „์ฒด ์Šค๋ƒ…์ƒท์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ  ์ŠคํŠธ๋ฆผ์€ ์ž‘์€ ๋ธํƒ€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ ์˜ˆ๋กœ ๋Œ์•„๊ฐ€ ๋ณด๋ฉด: 5์ดˆ๋งˆ๋‹ค ํด๋งํ•˜๋ฉด ์กฐ์šฉํ•œ ๊ธฐ๊ฐ„์—๋Š” ํ˜ธ์ถœ์„ ๋‚ญ๋น„ํ•˜๊ฑฐ๋‚˜ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ํ•ญ์ƒ ๋ช‡ ์ดˆ ๋’ค์ฒ˜์ง€๋Š” ๊ฒƒ์„ ๊ฐ์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์ด๋ฉด ์กฐ์šฉํ•œ ๊ธฐ๊ฐ„์€ ์กฐ์šฉํ•˜๊ณ  ํ‹ฐ์ผ“์ด ๋„์ฐฉํ•˜๋ฉด UI๊ฐ€ ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ํŒจํ„ด๋“ค

์‚ฌ๋žŒ๋“ค์€ ์ŠคํŠธ๋ฆฌ๋ฐ์ด๋ผ ํ•˜๋ฉด ์ข…์ข… ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” "ํ•˜๋‚˜์˜ ํฐ ๋ผ์ด๋ธŒ ์—ฐ๊ฒฐ"์„ ์ƒ์ƒํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํŒ€๋“ค์€ ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํŒจํ„ด์€ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์—…๋ฐ์ดํŠธ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1) ์„œ๋ฒ„โ†’ํด๋ผ์ด์–ธํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ (๋‹ค์šด๋งํฌ)

๊ฐ€์žฅ ํ”ํ•œ ํŒจํ„ด์ž…๋‹ˆ๋‹ค: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ํ˜ธ์ถœ์„ ์—ด๊ณ  ์„œ๋ฒ„๋Š” ๋ฐœ์ƒํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฉ”์‹œ์ง€๋ฅผ ๊ณ„์† ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ€ํ™”๋ฅผ ์ง€์ผœ๋ณด๋Š” ํ™”๋ฉด์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ ์šด์˜ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ๋ช…ํ™•ํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ 2์ดˆ๋งˆ๋‹ค "์ƒˆ ์ฃผ๋ฌธ ์žˆ์–ด?"๋ผ๊ณ  ๋ฌป๋Š” ๋Œ€์‹  ์„œ๋ฒ„๊ฐ€ ์ƒˆ ์ฃผ๋ฌธ์ด ๋„์ฐฉํ•˜๋ฉด ์ฆ‰์‹œ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํŒ€์ด ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๋Š๊น€์„ ๋น ๋ฅด๊ฒŒ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋ฒผ์šด ํ•˜ํŠธ๋น„ํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ํ•จ๊ป˜ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ƒํ™ฉ ์—…๋ฐ์ดํŠธ์—๋„ ๋™์ผํ•œ ์•„์ด๋””์–ด๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ ์ƒ์„ฑ์— 3๋ถ„์ด ๊ฑธ๋ฆฐ๋‹ค๋ฉด ์„œ๋ฒ„๋Š” ๋งˆ์ผ์Šคํ†ค(๋Œ€๊ธฐ ์ค‘, 10%, 40%, PDF ์ƒ์„ฑ ์ค‘, ์™„๋ฃŒ)์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•ด UI๊ฐ€ ์ŠคํŒธ ์—†์ด ์›€์ง์ž„์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2) ํด๋ผ์ด์–ธํŠธโ†’์„œ๋ฒ„ ์ŠคํŠธ๋ฆฌ๋ฐ (์—…๋งํฌ)

์ด ํŒจํ„ด์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ํ˜ธ์ถœ๋กœ ๋งŽ์€ ์ž‘์€ ์ด๋ฒคํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” ๋์— ํ•œ ๋ฒˆ ์‘๋‹ตํ•˜๊ฑฐ๋‚˜ ์ตœ์ข… ์š”์•ฝ๋งŒ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ํญ์ฃผํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋ฐ”์ผ ์•ฑ์ด ์„ผ์„œ ํŒ๋…๊ฐ’์„ ์ˆ˜์ง‘ํ•˜๊ฑฐ๋‚˜ POS ์•ฑ์ด ์˜คํ”„๋ผ์ธ ์ž‘์—…์„ ๋ฒ„ํผ๋งํ•  ๋•Œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง€๋ฉด ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๊ฐœ๋ณ„ REST ์š”์ฒญ๋ณด๋‹ค ์ ์€ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ด๋ฒคํŠธ ๋ฐฐ์น˜๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3) ์–‘๋ฐฉํ–ฅ ์ŠคํŠธ๋ฆฌ๋ฐ (์–‘์ชฝ ํ†ต์‹ )

์–‘์ชฝ์ด ์–ธ์ œ๋“ ์ง€ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์† ๋Œ€ํ™”์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋””์ŠคํŒจ์ฒ˜ ํˆด์€ ํ˜„์žฅ ์•ฑ์— ๋ช…๋ น์„ ๋ณด๋‚ด๊ณ  ์•ฑ์€ ์ƒํƒœ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐ์œผ๋กœ ๋˜๋Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋™์‹œ์— ํŽธ์ง‘ํ•˜๋Š” ๋ผ์ด๋ธŒ ํ˜‘์—…๋„ ์—ฌ๊ธฐ์— ๋งž์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๊ฐ€ ๋‹จ์ผ ์‘๋‹ต์ด๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋“œ๋ฌผ๊ฑฐ๋‚˜ ์บ์‹œ, ๊ฒŒ์ดํŠธ์›จ์ด, ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ฑฐ์น˜๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ฒฝ๋กœ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์š”์ฒญ-์‘๋‹ต ๋ฐฉ์‹์ด ์—ฌ์ „ํžˆ ์ตœ์„ ์ž…๋‹ˆ๋‹ค.

๋‹จ๊ณ„๋ณ„๋กœ ์–ด๋–ป๊ฒŒ ๊ฒฐ์ •ํ•˜๊ณ  ์„ค๊ณ„ํ• ์ง€

ํด๋ง ๋ฐฉ์‹ ๋„˜์–ด์„œ๊ธฐ
๋ชจ๋“  ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  Go๋กœ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ๋ฅผ ๋งŒ๋“œ์„ธ์š”.
์‹œ์ž‘ํ•˜๊ธฐ

ํ™”๋ฉด์—์„œ ์ฆ‰์‹œ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋ช‡ ์ดˆ ์ •๋„ ๋Šฆ์–ด์ ธ๋„ ๋˜๋Š” ๊ฒƒ์„ ์ ์–ด๋ณด๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. ๋Œ€๋ถ€๋ถ„ ์ œํ’ˆ์—๋Š” ์ž‘์€ "ํ•ซ" ๋ถ€๋ถ„๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค: ์‹ค์‹œ๊ฐ„ ์นด์šดํ„ฐ, ์ง„ํ–‰ ๋ฐ”, ์ƒํƒœ ๋ฐฐ์ง€ ๋“ฑ.

์—…๋ฐ์ดํŠธ๋ฅผ ๋‘ ๊ฐœ์˜ ๋ฒ„ํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์„ธ์š”: ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•„์š”ํ•œ ๊ฒƒ๊ณผ "๋‚˜์ค‘์— ๊ดœ์ฐฎ์€" ๊ฒƒ. ์˜ˆ๋ฅผ ๋“ค์–ด ์ง€์› ๋Œ€์‹œ๋ณด๋“œ๋Š” ์ƒˆ ํ‹ฐ์ผ“์€ ์ฆ‰์‹œ ๋‚˜ํƒ€๋‚˜์•ผ ํ•˜์ง€๋งŒ, ์ฃผ๊ฐ„ ํ•ฉ๊ณ„๋Š” 1๋ถ„๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ์•„๋ฌด๋„ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ ์ด๋ฒคํŠธ ์œ ํ˜•์˜ ์ด๋ฆ„์„ ์ •ํ•˜๊ณ  ๊ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”. ๋งค๋ฒˆ ์ „์ฒด ๊ฐ์ฒด๋ฅผ ๋ณด๋‚ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‹ค์šฉ์ ์ธ ์ ‘๊ทผ๋ฒ•์€ TicketCreated, TicketStatusChanged, JobProgressUpdated ๊ฐ™์€ ์ด๋ฒคํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ  UI๊ฐ€ ๋ฐ˜์‘ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ ํ•„๋“œ๋งŒ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œ ์šฉํ•œ ์„ค๊ณ„ ํ๋ฆ„:

  • ๊ฐ UI ์š”์†Œ์— ์ตœ๋Œ€ ํ—ˆ์šฉ ์ง€์—ฐ์„ ํ‘œ์‹œํ•˜์„ธ์š”(100 ms, 1 s, 10 s).
  • ์ด๋ฒคํŠธ ์œ ํ˜•๊ณผ ๊ฐ ์ด๋ฒคํŠธ์˜ ์ตœ์†Œ ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ •์˜ํ•˜์„ธ์š”.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ ๋Š๊น€ ํ›„ ์–ด๋–ป๊ฒŒ ๋ณต๊ตฌํ• ์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”(์ „์ฒด ์Šค๋ƒ…์ƒท ๋˜๋Š” ์ปค์„œ๋กœ ์ด์–ด๊ฐ€๊ธฐ).
  • ๋А๋ฆฐ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๊ทœ์น™์„ ์ •ํ•˜์„ธ์š”(๋ฐฐ์น˜, ์—…๋ฐ์ดํŠธ ํ•ฉ์น˜๊ธฐ, ์˜ค๋ž˜๋œ ๊ฒƒ ๋“œ๋กญ ๋˜๋Š” ์ „์†ก ๋นˆ๋„ ์ค„์ด๊ธฐ).
  • ์ŠคํŠธ๋ฆฌ๋ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ์˜ ํด๋ฐฑ ๊ณ„ํš์„ ์„ ํƒํ•˜์„ธ์š”.

์žฌ์—ฐ๊ฒฐ ๋™์ž‘์€ ๋งŽ์€ ํŒ€์ด ๋ง‰ํžˆ๋Š” ์ง€์ ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ „๋žต์œผ๋กœ๋Š”: ์—ฐ๊ฒฐ ์‹œ ํ˜„์žฌ ์ƒํƒœ์˜ ์Šค๋ƒ…์ƒท์„ ๋ณด๋‚ด๊ณ  ๊ทธ๋‹ค์Œ์— ์ฆ๋ถ„ ์ด๋ฒคํŠธ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์คŒ(resume)์„ ์ง€์›ํ•˜๋ฉด "last event id" ๊ฐ™์€ ์ปค์„œ๋ฅผ ํฌํ•จํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ "18452 ์ดํ›„ ๊ฒƒ ๋ณด๋‚ด์ค˜"๋ผ๊ณ  ์š”์ฒญํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์žฌ์—ฐ๊ฒฐ์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

๋ฐฑํ”„๋ ˆ์…”(ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋”ฐ๋ผ์˜ค์ง€ ๋ชปํ•  ๊ฒฝ์šฐ)๋Š” "ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋”ฐ๋ผ์˜ค์ง€ ๋ชปํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€?"์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ ๋Œ€์‹œ๋ณด๋“œ์—์„œ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ฉ์น˜๋Š” ๊ฒŒ ์ž์ฃผ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰๋ฅ ์ด 41%, 42%, 43%๋กœ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•  ๋•Œ ํฐ์ด ๋ฐ”์  ๊ฒฝ์šฐ 43%๋งŒ ๋ณด๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ์ด ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•  ๋•Œ ์ œํ’ˆ์ด ์—ฌ์ „ํžˆ ์œ ์šฉํ•˜๋„๋ก ํด๋ฐฑ์„ ๊ณ„ํšํ•˜์„ธ์š”. ์ผ๋ฐ˜์ ์ธ ์„ ํƒ์ง€๋Š” ์ž„์‹œ๋กœ 5~15์ดˆ ๊ฐ„๊ฒฉ์˜ ํด๋ง์œผ๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋œ ์ค‘์š”ํ•œ ํ™”๋ฉด์— ์ˆ˜๋™ ์ƒˆ๋กœ๊ณ ์นจ ๋ฒ„ํŠผ์„ ๋‘๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

AppMaster๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ์ข…์ข… ๋‘ ๊ฒฝ๋กœ๋กœ ๊น”๋”ํ•˜๊ฒŒ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค: "ํ•ซ" ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํ๋ฆ„๊ณผ ํด๋ฐฑ์šฉ ํ‘œ์ค€ API ์ฝ๊ธฐ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ ์˜ˆ: ๋ผ์ด๋ธŒ ๋Œ€์‹œ๋ณด๋“œ์™€ ์ž‘์—… ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ

์žฌ๊ณ  200๊ฐœ SKU๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์ฐฝ๊ณ  ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ƒ์ƒํ•ด๋ณด์„ธ์š”. REST ํด๋ง์ด๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ /inventory๋ฅผ 5์ดˆ๋งˆ๋‹ค ํ˜ธ์ถœํ•ด ์ „์ฒด JSON ๋ชฉ๋ก์„ ๋ฐ›๊ณ  ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„ ์•„๋ฌด๊ฒƒ๋„ ๋ฐ”๋€Œ์ง€ ์•Š์ง€๋งŒ ๋ฐ˜๋ณต ์š”์ฒญ, ์ „์ฒด ์‘๋‹ต, ๋ฐ˜๋ณต ํŒŒ์‹ฑ ๋น„์šฉ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์ด๋ฉด ํ๋ฆ„์ด ๋ฐ”๋€๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ํ•˜๋‚˜์˜ ์žฅ๊ธฐ ์ŠคํŠธ๋ฆผ์„ ์—ด๊ณ  ์ดˆ๊ธฐ ์Šค๋ƒ…์ƒท์„ ๋ฐ›์€ ๋’ค(UI๊ฐ€ ์ฆ‰์‹œ ๋ Œ๋”๋งํ•˜๋„๋ก) ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ๋งŒ ์ž‘์€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋Œ€์‹œ๋ณด๋“œ ๋ทฐ:

  • ์ดˆ๊ธฐ ์ƒํƒœ: SKU ์ „์ฒด ๋ชฉ๋ก, ์ˆ˜๋Ÿ‰, ๊ฐ ํ–‰์˜ "๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ" ํƒ€์ž„์Šคํƒฌํ”„
  • ์ฆ๋ถ„ ์—…๋ฐ์ดํŠธ: ๋ณ€๊ฒฝ๋œ ํ–‰๋งŒ(์˜ˆ: SKU-184๊ฐ€ 12์—์„œ 11๋กœ ๋ณ€๊ฒฝ)
  • ์‹ ์„ ๋„ ์‹ ํ˜ธ: ์ „์—ญ "๋ฐ์ดํ„ฐ ์ตœ์‹  ์‹œ์ " ํ‘œ์‹œ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

๋‘ ๋ฒˆ์งธ ํ™”๋ฉด์œผ๋กœ ์žฅ์‹œ๊ฐ„ ์ž‘์—…(์˜ˆ: CSV ๊ฐ€์ ธ์˜ค๊ธฐ, ์›”๋ณ„ ์†ก์žฅ ์ƒ์„ฑ)์„ ์ถ”๊ฐ€ํ•ด ๋ณด์„ธ์š”. ํด๋ง์€ ์ข…์ข… ์–ด์ƒ‰ํ•œ ๋„์•ฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค: 0%, 0%, 0%, 80%, ์™„๋ฃŒ. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋” ์ •์งํ•˜๊ณ  ์ฐจ๋ถ„ํ•œ ๋А๋‚Œ์„ ์ค๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ŠคํŠธ๋ฆผ์€ ๋ณดํ†ต ์ž‘๊ณ  ๋นˆ๋ฒˆํ•œ ์Šค๋ƒ…์ƒท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค:

  • ์™„๋ฃŒ ๋น„์œจ(0~100)
  • ํ˜„์žฌ ๋‹จ๊ณ„("Validating", "Matching", "Writing")
  • ETA(์ถ”์ •์น˜, ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)
  • ์ตœ์ข… ๊ฒฐ๊ณผ(์„ฑ๊ณต, ๊ฒฝ๊ณ , ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€)

๋ธํƒ€ vs ์Šค๋ƒ…์ƒท ์„ ํƒ์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์žฌ๊ณ  ๊ฐ™์€ ๊ฒฝ์šฐ ๋ธํƒ€๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค(๋งค์šฐ ์ž‘์Œ). ์ž‘์—… ์ง„ํ–‰์€ ๊ฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์ด๋ฏธ ์ž‘๊ธฐ ๋•Œ๋ฌธ์— ์Šค๋ƒ…์ƒท์ด ์•ˆ์ „ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์žฌ์—ฐ๊ฒฐ ์‹œ ๋ˆ„๋ฝ๋œ ๋ฉ”์‹œ์ง€๋กœ ์ธํ•œ ํ˜ผ๋ž€์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.

AppMaster ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ๋นŒ๋“œํ•˜๋ฉด ๋ณดํ†ต ์ฝ๊ธฐ ๋ชจ๋ธ(์ดˆ๊ธฐ ์ƒํƒœ) + ์ด๋ฒคํŠธ์„ฑ ์—…๋ฐ์ดํŠธ(๋ธํƒ€)๋กœ ๋งคํ•‘๋˜์–ด UI๊ฐ€ API๋ฅผ ๊ณผ๋‹ค ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฐ˜์‘์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ฌ๋ผ์ง€๋Š” ์ 

์šด์˜ ๋„๊ตฌ ๋” ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌ
๊ธด ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ ์—†์ด ๋‚ด๋ถ€ ์šด์˜ ๋„๊ตฌ, ๊ด€๋ฆฌ์ž ํŒจ๋„, ํฌํ„ธ์„ ๊ตฌ์ถ•ํ•˜์„ธ์š”.
๋” ๋นจ๋ฆฌ ์ถœ์‹œํ•˜๊ธฐ

ํœด๋Œ€ํฐ์—์„œ๋Š” "์—ฐ์† ์—ฐ๊ฒฐ"์ด ๋ฐ์Šคํฌํ†ฑ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋Š” Wiโ€‘Fi์™€ ์…€๋ฃฐ๋Ÿฌ ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•˜๊ณ  ํ„ฐ๋„์ด ๋ฆฌ์…‹๋˜๋ฉฐ ์‚ฌ์šฉ์ž๋Š” ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์„ธ์…˜์ด ์–ธ์ œ๋“  ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ด€์ ์œผ๋กœ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๋Š๊น€์„ ์˜ˆ์ƒํ•˜๊ณ  ์•ˆ์ „ํ•œ ์žฌ์žฌ์ƒ(replay)์„ ์„ค๊ณ„ํ•˜์„ธ์š”. ์ข‹์€ ์ŠคํŠธ๋ฆผ์€ "last event id" ๊ฐ™์€ ์ปค์„œ๋ฅผ ํฌํ•จํ•ด ์•ฑ์ด ์žฌ์—ฐ๊ฒฐ ์‹œ "์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ์ด์–ด์ค˜"๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ค‘๋ณต ์—…๋ฐ์ดํŠธ(๊ฐ™์€ ์ง„ํ–‰ ๋‹จ๊ณ„๊ฐ€ ๋‘ ๋ฒˆ ๋ณด์ž„)๋‚˜ ๋ˆ„๋ฝ(40%์—์„œ 90%๋กœ ๊ฑด๋„ˆ๋œ€)์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€๊ฐ€ ์ž‘๊ณ  ์˜๋ฏธ ์žˆ์„ ๋•Œ ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”์‹œ์ง€๋งˆ๋‹ค ์ „์ฒด ๊ฐ์ฒด๋ฅผ ์ดˆ๋‹น ์ „์†กํ•˜๋ฉด ๋ฐ์ดํ„ฐ์™€ ๋ฐฐํ„ฐ๋ฆฌ๋ฅผ ๋นจ๋ฆฌ ์†Œ๋ชจํ•ฉ๋‹ˆ๋‹ค. "order 183 status changed to Shipped" ๊ฐ™์€ ๊ฐ„๊ฒฐํ•œ ์ด๋ฒคํŠธ๋ฅผ ์„ ํ˜ธํ•˜์„ธ์š”.

์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ์žˆ์„ ๋•Œ ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ณดํ†ต ์ •์ง€๋˜๊ฑฐ๋‚˜ OS์— ์˜ํ•ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ ํด๋ฐฑ์„ ๊ณ„ํšํ•˜์„ธ์š”: ๋งˆ์ง€๋ง‰ ์•Œ๋ ค์ง„ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ๋Œ์•„์˜ฌ ๋•Œ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ๊ธด๊ธ‰ ์ด๋ฒคํŠธ๋Š” ํ”Œ๋žซํผ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํƒญํ•˜๋ฉด ์•ฑ์ด ์—ด๋ฆฌ๊ณ  ๋™๊ธฐํ™”ํ•˜๋„๋ก ํ•˜์„ธ์š”.

๋ชจ๋ฐ”์ผ ๋Œ€์‹œ๋ณด๋“œ ๋ฐ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ์‹ค์šฉ์  ์ ‘๊ทผ๋ฒ•:

  • ์žฌ์—ฐ๊ฒฐ ์‹œ ๋ฐฑ์˜คํ”„(backoff)๋ฅผ ์ ์šฉํ•ด ๋‚˜์œ ์—ฐ๊ฒฐ ์ƒํƒœ์—์„œ ๋ฐฐํ„ฐ๋ฆฌ๋ฅผ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฒคํŠธ id๋‚˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ํฌํ•จํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฉฑ๋“ฑํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค‘๋ณต์ด UI๋ฅผ ๋ง์น˜์ง€ ์•Š๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜๋ฏธ๊ฐ€ ์žˆ์œผ๋ฉด ๋ธํƒ€๋ฅผ ๋ณด๋‚ด๊ณ , ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์—…๋ฐ์ดํŠธ๋Š” ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๊ฒฐ ์‹œ ์Šค๋ƒ…์ƒท์„ ๋ณด๋‚ด UI๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๋„๋ก ํ•œ ๋’ค ๋ผ์ด๋ธŒ ์ด๋ฒคํŠธ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ„๋‹จํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ(๋ฉ”์‹œ์ง€ ํƒ€์ž… + ์„ ํƒ์  ํ•„๋“œ)๋ฅผ ์ถ”๊ฐ€ํ•ด ์˜ค๋ž˜๋œ ์•ฑ ๋ฒ„์ „๋„ ๋™์ž‘ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

AppMaster๋กœ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๋นŒ๋“œํ•˜๋ฉด ์ŠคํŠธ๋ฆผ์„ "์žˆ์œผ๋ฉด ์ข‹์€" ๊ฒฝ๋กœ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  "์œ ์ผํ•œ ์ง„์‹ค ์›์ฒœ"์œผ๋กœ ๋งŒ๋“ค์ง€ ๋งˆ์„ธ์š”. ์งง์€ ๋Š๊น€ ๋™์•ˆ์—๋„ UI๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ, ํ”„๋ก์‹œ, HTTP/2 ์ฃผ์˜์‚ฌํ•ญ

ํ•ซ ์ŠคํŠธ๋ฆผ ํ•˜๋‚˜๋กœ ํŒŒ์ผ๋Ÿฟ ์‹œ์ž‘
๋จผ์ € ํŒŒ์ผ๋Ÿฟ ํ™”๋ฉด์„ ๋ฐฐํฌํ•˜๊ณ  ์ง€์—ฐ๊ณผ ๋Š๊น€์„ ์ธก์ •ํ•œ ๋’ค ์ž์‹ ์žˆ๊ฒŒ ํ™•์žฅํ•˜์„ธ์š”.
์ง€๊ธˆ ์‹œ์ž‘

์ŠคํŠธ๋ฆฌ๋ฐ์€ ์ด๋ก ์ƒ ๋ช…ํ™•ํ•œ ์ด์ ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐœ์ž…ํ•˜๋ฉด ์ƒํ™ฉ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์ฐจ์ด๋Š” ์—ฐ๊ฒฐ์ž…๋‹ˆ๋‹ค: ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ณดํ†ต ์žฅ๊ธฐ HTTP/2 ์—ฐ๊ฒฐ์„ ์˜๋ฏธํ•˜๋ฉฐ ์ด๋Š” ๊ธฐ์—… ํ”„๋ก์‹œ, ๋ฏธ๋“ค๋ฐ•์Šค, ์—„๊ฒฉํ•œ ๋ณด์•ˆ ์„ค์ •์„ ํ”๋“ค๋ฆฌ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์—… ๋„คํŠธ์›Œํฌ๋Š” TLS ๊ฒ€์‚ฌ(ํŠธ๋ž˜ํ”ฝ์„ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์žฌ์•”ํ˜ธํ™”ํ•˜๋Š” ํ”„๋ก์‹œ)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด HTTP/2 ํ˜‘์ƒ์ด ๊นจ์ง€๊ฑฐ๋‚˜ ์žฅ๊ธฐ ์ŠคํŠธ๋ฆผ์ด ์ฐจ๋‹จ๋˜๊ฑฐ๋‚˜ ๋™์ž‘์ด ์กฐ์šฉํžˆ ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ์ƒ์€ ๋ฌด์ž‘์œ„ ๋Š๊น€, ์ŠคํŠธ๋ฆผ์ด ์‹œ์ž‘๋˜์ง€ ์•Š์Œ, ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์˜ค์ง€ ์•Š๊ณ  ๋ฒ„์ŠคํŠธ๋กœ ๋„์ฐฉํ•˜๋Š” ๋“ฑ์ž…๋‹ˆ๋‹ค.

ํด๋ž˜์‹ gRPC๋Š” HTTP/2 ์ง€์›์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ํ”„๋ก์‹œ๊ฐ€ HTTP/1.1๋งŒ ์ง€์›ํ•˜๋ฉด ์ •์ƒ์ ์ธ REST๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ ํ˜ธ์ถœ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ๋Š” gRPC-Web์ด ๋” ์ž˜ ํ†ต๊ณผํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, ์œ ํœด ํƒ€์ž„์•„์›ƒ, ํ‚ต์–ผ๋ผ์ด๋ธŒ

๋„คํŠธ์›Œํฌ๊ฐ€ HTTP/2๋ฅผ ํ—ˆ์šฉํ•˜๋”๋ผ๋„ ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜๋Š” ์ข…์ข… ์œ ํœด ํƒ€์ž„์•„์›ƒ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ํ•œ๋™์•ˆ ์กฐ์šฉํ•œ ์ŠคํŠธ๋ฆผ์€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋‚˜ ํ”„๋ก์‹œ์— ์˜ํ•ด ๋Š๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ํ•ด๊ฒฐ์ฑ…:

  • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์— ์ ์ ˆํ•œ ํ‚ต์–ผ๋ผ์ด๋ธŒ(ping) ์„ค์ •์„ ๋‘ก๋‹ˆ๋‹ค(๋„ˆ๋ฌด ์žฆ์ง€ ์•Š๊ฒŒ).
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ์˜ ์œ ํœด ํƒ€์ž„์•„์›ƒ์„ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.
  • ๊ธด ๋ฌด์‘๋‹ต ๊ธฐ๊ฐ„์ด ์ •์ƒ์ธ ๊ฒฝ์šฐ ์ž‘์€ ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ์žฌ์—ฐ๊ฒฐ์„ ๊น”๋”ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค(์ƒํƒœ๋ฅผ ์ด์–ด๊ฐ€๊ธฐ, ์ค‘๋ณต ์ด๋ฒคํŠธ ํšŒํ”ผ).
  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์–‘์ชฝ์—์„œ ๋Š๊น€ ์›์ธ์„ ๋กœ๊ทธ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค.

gRPC-Web ๋˜๋Š” ํด๋ฐฑ์„ ์„ ํ˜ธํ•  ๋•Œ

์‚ฌ์šฉ์ž๊ฐ€ ์ž ๊ธด ๊ธฐ์—… ๋„คํŠธ์›Œํฌ ๋’ค์— ์žˆ๋‹ค๋ฉด ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์ตœ์„ ์˜ ๋…ธ๋ ฅ(best-effort)์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  ํด๋ฐฑ ์ฑ„๋„์„ ์ œ๊ณตํ•˜์„ธ์š”. ์ผ๋ฐ˜์ ์ธ ๋ถ„ํ• ์€ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์—๋Š” gRPC ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์œ ์ง€ํ•˜๋˜, ๋ธŒ๋ผ์šฐ์ € ํ”„๋ก์‹œ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ๋Š” gRPC-Web(๋˜๋Š” ์งง์€ REST ํด๋ง)์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋“ค์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์†Œ์—์„œ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”:

  • ํ”„๋ก์‹œ ์ •์ฑ…์ด ์žˆ๋Š” ๊ธฐ์—… ์‚ฌ๋‚ด ๋„คํŠธ์›Œํฌ
  • ๊ณต๊ณต ์™€์ดํŒŒ์ด
  • VPN ์—ฐ๊ฒฐ
  • ๋ชจ๋ฐ”์ผ ํ†ต์‹ ์‚ฌ ๋„คํŠธ์›Œํฌ

AppMaster๋ฅผ AppMaster Cloud๋‚˜ ์ฃผ์š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž์— ๋ฐฐํฌํ•œ๋‹ค๋ฉด ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—”๋“œํˆฌ์—”๋“œ๋กœ ์ด๋Ÿฌํ•œ ๋™์ž‘์„ ๊ฒ€์ฆํ•˜์„ธ์š”.

ํ”ํ•œ ์‹ค์ˆ˜์™€ ํ•จ์ •

๊ฐ€์žฅ ํฐ ํ•จ์ •์€ ์ŠคํŠธ๋ฆฌ๋ฐ์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„์€ ์ข‹๊ฒŒ ๋А๊ปด์ง€์ง€๋งŒ ์„œ๋ฒ„ ๋ถ€ํ•˜, ๋ชจ๋ฐ”์ผ ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ, ๊ณ ๊ฐ ์ง€์› ์š”์ฒญ์„ ์กฐ์šฉํžˆ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํ™”๋ฉด์ด ์ •๋ง ์ดˆ ๋‹จ์œ„ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ์ง€ ์—„๊ฒฉํžˆ ํŒ๋‹จํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” 30~60์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋„๋ก ์‹œ์ž‘ํ•˜์„ธ์š”.

๋˜ ๋‹ค๋ฅธ ์‹ค์ˆ˜๋Š” ์ด๋ฒคํŠธ๋งˆ๋‹ค ์ „์ฒด ๊ฐ์ฒด๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ถ„๋‹น 200KB์งœ๋ฆฌ JSON ๋ฉ์–ด๋ฆฌ๋ฅผ ๋งค์ดˆ ํ‘ธ์‹œํ•˜๋Š” ๋ผ์ด๋ธŒ ๋Œ€์‹œ๋ณด๋“œ๋Š” ๋ฐ”์œ ์‹œ๊ฐ„์ด ๋˜๋ฉด ๊ธˆ๋ฐฉ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ž‘์€ ๋ธํƒ€๋ฅผ ์„ ํ˜ธํ•˜์„ธ์š”: "order 4832 status changed to shipped"์ฒ˜๋Ÿผ ์ „์ฒด ์ฃผ๋ฌธ์„ ๋‹ค์‹œ ๋ณด๋‚ด์ง€ ๋งˆ์„ธ์š”.

๋ณด์•ˆ๋„ ์ข…์ข… ๊ฐ„๊ณผ๋ฉ๋‹ˆ๋‹ค. ์žฅ๊ธฐ ์ŠคํŠธ๋ฆผ์ด๋ผ๋„ ๊ฐ•๋ ฅํ•œ ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๊ฒ€์‚ฌ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ์ค‘๊ฐ„์— ํ† ํฐ ๋งŒ๋ฃŒ์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ์ ํŠธ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์žƒ์œผ๋ฉด ์„œ๋ฒ„๋Š” ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ ์ „์†ก์„ ์ค‘๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์žฌ์—ฐ๊ฒฐ ๋™์ž‘์€ ํŠนํžˆ ๋ชจ๋ฐ”์ผ์—์„œ ๋งŽ์€ ์•ฑ์ด ์‹คํŒจํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ํฐ์€ Wiโ€‘Fi์™€ LTE๋ฅผ ์˜ค๊ฐ€๊ณ  ์ž ๋“ค๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์Šต๊ด€์ด ์ตœ์•…์˜ ์‹คํŒจ๋ฅผ ๋ง‰์•„์ค๋‹ˆ๋‹ค: ๋Š๊น€์„ ๊ฐ€์ •ํ•˜๊ธฐ; ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณธ ์ด๋ฒคํŠธ id(๋˜๋Š” ํƒ€์ž„์Šคํƒฌํ”„)์—์„œ ์ด์–ด๊ฐ€๊ธฐ; ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฉฑ๋“ฑ์œผ๋กœ ์„ค๊ณ„ํ•ด ์žฌ์‹œ๋„๊ฐ€ ์ค‘๋ณต์„ ๋งŒ๋“ค์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ; ๋А๋ฆฐ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ํƒ€์ž„์•„์›ƒ๊ณผ ํ‚ต์–ผ๋ผ์ด๋ธŒ๋ฅผ ์„ค์ •ํ•˜๊ธฐ; ์ŠคํŠธ๋ฆฌ๋ฐ์ด ์‹คํŒจํ•˜๋ฉด ์ €๋นˆ๋„ ํด๋ง ๊ฐ™์€ ์—ด์•… ๋ชจ๋“œ ์ œ๊ณตํ•˜๊ธฐ.

๋งˆ์ง€๋ง‰์œผ๋กœ, ํŒ€๋“ค์ด ๊ด€์ธก(๋ชจ๋‹ˆํ„ฐ๋ง) ์—†์ด ์ŠคํŠธ๋ฆฌ๋ฐ์„ ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋Š๊น€ ๋น„์œจ, ์žฌ์—ฐ๊ฒฐ ๋ฃจํ”„, ๋ฉ”์‹œ์ง€ ์ง€์—ฐ, ๋ˆ„๋ฝ๋œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ถ”์ ํ•˜์„ธ์š”. ์„œ๋ฒ„๋Š” 100% ์™„๋ฃŒ๋ฅผ ๋ณด๊ณ ํ•˜๋Š”๋ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ 20์ดˆ๊ฐ„ 70%์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ๋‹ค๋ฉด ์ง€์—ฐ์ด ์–ด๋””์„œ ๋ฐœ์ƒํ•˜๋Š”์ง€(์„œ๋ฒ„, ๋„คํŠธ์›Œํฌ, ํด๋ผ์ด์–ธํŠธ)๋ฅผ ๋ณด์—ฌ์ค„ ๋ฉ”ํŠธ๋ฆญ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŠธ๋ฆฌ๋ฐ์„ ์„ ํƒํ•˜๊ธฐ ์ „์˜ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์žฌ์—ฐ๊ฒฐ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ
์žฌ์—ฐ๊ฒฐ, ์ปค์„œ, ์•ˆ์ „ํ•œ ์žฌ๋™๊ธฐํ™” ํ˜ธ์ถœ์„ ๊ณ„ํšํ•ด ์‹ค์ œ ๋„คํŠธ์›Œํฌ์—์„œ UX๊ฐ€ ๊นจ์ง€์ง€ ์•Š๊ฒŒ ํ•˜์„ธ์š”.
์ง€๊ธˆ ์‹œ๋„ํ•˜๊ธฐ

์‚ฌ์šฉ์ž์—๊ฒŒ "์‹ค์‹œ๊ฐ„"์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”.

์ง€์—ฐ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋А๊ปด์ ธ์•ผ ํ•œ๋‹ค๋ฉด 1์ดˆ ์ดํ•˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ŠคํŠธ๋ฆผ์„ ์ •๋‹นํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ 10์ดˆ ๋˜๋Š” 1๋ถ„ ์ •๋„๋ฉด ๊ดœ์ฐฎ๋‹ค๋ฉด ๋‹จ์ˆœ ํด๋ง์ด ๋น„์šฉ๊ณผ ๋‹จ์ˆœ์„ฑ ์ธก๋ฉด์—์„œ ์ด๊น๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ ํŒฌ์•„์›ƒ(fan-out)์„ ๋ณด์„ธ์š”. ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํ”ผ๋“œ๋ฅผ ๋งŽ์€ ์‚ฌ๋žŒ์ด ๋™์‹œ์— ๋ณด๋Š” ๊ฒฝ์šฐ(๋ฒฝ๋ฉด์šฉ ์šด์˜ ๋Œ€์‹œ๋ณด๋“œ + 50๋ช…์˜ ๋ธŒ๋ผ์šฐ์ € ๋“ฑ) ํด๋ง์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ถ€ํ•˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ๋ฐ˜๋ณต ์š”์ฒญ์„ ์ค„์ด์ง€๋งŒ ์—ฌ์ „ํžˆ ๋งŽ์€ ์—ด๋ฆฐ ์—ฐ๊ฒฐ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ๊ฒฐ์ • ์ฒดํฌ๋ฆฌ์ŠคํŠธ:

  • ๋ณ€๊ฒฝ์ด ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ๋ณด์—ฌ์•ผ ํ•˜๋Š”๊ฐ€: 1์ดˆ ์ด๋‚ด, ์•ฝ 10์ดˆ, ๋˜๋Š” ์•ฝ 1๋ถ„?
  • ๋™์‹œ์— ๋™์ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋Š” ํด๋ผ์ด์–ธํŠธ ์ˆ˜๋Š” ์–ผ๋งˆ์ด๋ฉฐ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๋ณด๋Š”๊ฐ€?
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ 30์ดˆ ์˜คํ”„๋ผ์ธ์ด๋ฉด ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€: ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ ๋ณด์—ฌ์ฃผ๊ธฐ, ์—…๋ฐ์ดํŠธ ๋ฒ„ํผ๋ง, ๋˜๋Š” ์ƒํƒœ ์žฌ๋กœ๋”ฉ?
  • ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ๊ฐ€ ํ”„๋ก์‹œ์™€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํฌํ•จํ•ด ๋๊นŒ์ง€ HTTP/2๋ฅผ ์ง€์›ํ•˜๋Š”๊ฐ€?
  • ์ŠคํŠธ๋ฆฌ๋ฐ์ด ํ”„๋กœ๋•์…˜์—์„œ ๊นจ์งˆ ๋•Œ ์•ˆ์ „ํ•œ ํด๋ฐฑ(์˜ˆ: ์ž„์‹œ ํด๋ง)์ด ์žˆ๋Š”๊ฐ€?

๋˜ํ•œ ์‹คํŒจ์™€ ๋ณต๊ตฌ๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”. ์ŠคํŠธ๋ฆฌ๋ฐ์€ ์ž‘๋™ํ•  ๋•Œ ํ›Œ๋ฅญํ•˜์ง€๋งŒ ์žฌ์—ฐ๊ฒฐ, ๋ˆ„๋ฝ ์ด๋ฒคํŠธ, UI ์ผ๊ด€์„ฑ ์œ ์ง€๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ์„ค๊ณ„๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ์„ ๋น ๋ฅธ ๊ฒฝ๋กœ๋กœ ์‚ฌ์šฉํ•˜๋˜ ์žฌ์—ฐ๊ฒฐ ํ›„ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์ผ REST ํ˜ธ์ถœ(๋ฆฌ์‹œํฌ(sync) ์•ก์…˜)์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ดํ•‘ํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ: AppMaster์˜ ๋…ธ์ฝ”๋“œ UI๋กœ) ์ด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋นจ๋ฆฌ ์ ์šฉํ•ด ๋ฐฑ์—”๋“œ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ๊ตฌ์ถ•ํ•˜์ง€ ๋งˆ์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„: ์ž‘์€ ์ŠคํŠธ๋ฆผ์œผ๋กœ ํŒŒ์ผ๋Ÿฟํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ํ™•์žฅํ•˜์„ธ์š”

์ŠคํŠธ๋ฆฌ๋ฐ์„ ์Šค์œ„์น˜ ํ•˜๋‚˜๋กœ ์ผœ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–ป์–ด์•ผ ํ•  ๊ฐ€์น˜๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”. ์‹ ์„ ๋„๊ฐ€ ๋ถ„๋ช…ํžˆ ๊ฐ€์น˜ ์žˆ๋Š” ํ•œ ๊ณณ์„ ์„ ํƒํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๊ทธ๋Œ€๋กœ ๋‘์„ธ์š”.

์ž‘์€ ๋ฒ”์œ„๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”: ์žฅ์‹œ๊ฐ„ ์ž‘์—…์˜ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ(ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ, ๋ณด๊ณ ์„œ ์ƒ์„ฑ)๋‚˜ ๋ผ์ด๋ธŒ ๋Œ€์‹œ๋ณด๋“œ์˜ ํ•œ ์นด๋“œ(์˜ค๋Š˜์˜ ์ฃผ๋ฌธ, ํ™œ์„ฑ ํ‹ฐ์ผ“, ํ˜„์žฌ ๋Œ€๊ธฐ์—ด ๊ธธ์ด)์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๊ณ ๊ฐ€์น˜ ์ŠคํŠธ๋ฆผ์„ ์„ ํƒํ•˜์„ธ์š”. ๋ฒ”์œ„๋ฅผ ์ขํžˆ๋ฉด ํด๋ง๊ณผ ์‹ค์ œ ์ˆ˜์น˜๋ฅผ ๋น„๊ตํ•˜๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ํŒŒ์ผ๋Ÿฟ ๊ณ„ํš:

  • ์„ฑ๊ณต ์ •์˜: ๋ชฉํ‘œ ์—…๋ฐ์ดํŠธ ์ง€์—ฐ, ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๋Š๊น€ ๋น„์œจ, ๋ชจ๋ฐ”์ผ์—์„œ์˜ "์ถฉ๋ถ„ํžˆ ์ข‹์Œ" ๊ธฐ์ค€
  • ์ตœ์†Œ ์ŠคํŠธ๋ฆผ ๋ฐฐํฌ: ๋ฉ”์‹œ์ง€ ํƒ€์ž… ํ•œ ๊ฐœ, ํ™”๋ฉด ํ•œ ๊ฐœ, ๋ฐฑ์—”๋“œ ์—”๋“œํฌ์ธํŠธ ํ•œ ๊ฐœ
  • ๊ธฐ๋ณธ ์ง€ํ‘œ ์ธก์ •: ์„œ๋ฒ„ CPU/๋ฉ”๋ชจ๋ฆฌ, ์—ด๋ฆฐ ์—ฐ๊ฒฐ ์ˆ˜, ๋ฉ”์‹œ์ง€ ์ง€์—ฐ, ์žฌ์—ฐ๊ฒฐ ๋นˆ๋„, ํด๋ผ์ด์–ธํŠธ ๋ฐฐํ„ฐ๋ฆฌ ์˜ํ–ฅ
  • ํด๋ฐฑ ์ถ”๊ฐ€: ์ŠคํŠธ๋ฆผ์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ฐจ๋‹จ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋А๋ฆฐ ํด๋ง ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • ์‹ ์ค‘ํžˆ ํ™•์žฅ: ๋ฉ”ํŠธ๋ฆญ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ํ•„๋“œ๋‚˜ ํ™”๋ฉด ์ถ”๊ฐ€

ํด๋ฐฑ์„ ์˜๋„์ ์œผ๋กœ ์œ ์ง€ํ•˜์„ธ์š”. ์ผ๋ถ€ ๊ธฐ์—… ๋„คํŠธ์›Œํฌ, ์˜ค๋ž˜๋œ ํ”„๋ก์‹œ, ์—„๊ฒฉํ•œ ๋ฐฉํ™”๋ฒฝ์€ HTTP/2์™€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๊ณ , ๋ชจ๋ฐ”์ผ ๋„คํŠธ์›Œํฌ๋Š” ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ์žˆ์„ ๋•Œ ๋ถˆ์•ˆ์ •ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์•„ํ•œ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋Š” ๋นˆ ํ™”๋ฉด๊ณผ ๊ณ ๊ฐ ์ง€์› ํ‹ฐ์ผ“์„ ํ”ผํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋ฌด๊ฑฐ์šด ์ปค์Šคํ…€ ์ฝ”๋“œ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์ด๊ฑธ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด AppMaster (appmaster.io)๊ฐ€ ๋ฐฑ์—”๋“œ ๋กœ์ง, API, UI๋ฅผ ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œํ•˜๊ณ  ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๊ฒŒ ์‹œ์ž‘ํ•ด ๊ฐ€์น˜๋ฅผ ์ฆ๋ช…ํ•˜๊ณ  ํด๋ง์„ ๋Œ€์ฒดํ•  ๊ณณ์—๋งŒ ์ŠคํŠธ๋ฆผ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
gRPC ์ŠคํŠธ๋ฆฌ๋ฐ vs REST ํด๋ง: ์–ธ์ œ ์ง„์งœ๋กœ ์ค‘์š”ํ•œ๊ฐ€ | AppMaster