arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Overview

hashtag
API Schema and Handler

hashtag
1. Design Principle

Moleculer API Gateway๋Š” ์•„๋ž˜ ์›์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์•ˆ์—์„œ ์œ ๋™์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

    • Persistence Layer๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • "๋ถ„์‚ฐ ์„œ๋น„์Šค -> API" ์ข…์†์„ฑ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์•„์šธ๋Ÿฌ ๋ถ„์‚ฐ ์„œ๋น„์Šค ๋ฐ ์„œ๋น„์Šค ๋ธŒ๋กœ์ปค์—์„œ ๊ธฐ๋Œ€๋˜๋Š” ํŒจํ„ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์‚ฐ ์„œ๋น„์Šค์˜ ํ”„๋กœ์‹œ์ €๋Š” ๋ฌด์ƒํƒœ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.

    • ํ”„๋กœ์‹œ์ €๋Š” ์ธ์ฆ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ํ”„๋กœ์‹œ์ €๋Š” ์ ‘๊ทผ ์ œ์–ด๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

hashtag
2. API Schema

์ดํ•˜์—์„œ ์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ๋Š” ๋ถ„์‚ฐ ํ™˜๊ฒฝ์˜ ๋ถ€๋ถ„์ ์ธ API ์Šคํ‚ค๋งˆ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Gateway API ์Šคํ‚ค๋งˆ๋Š” Gateway์—์„œ ํ†ตํ•ฉ๋œ API ์Šคํ‚ค๋งˆ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ๋Š” JSON ํ…์ŠคํŠธ๋กœ Gateway์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ ๋ฐ์ดํ„ฐ์˜ ์ง๋ ฌํ™” ๋ฐ ๋น„์ง๋ ฌํ™”๋Š” MSA ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋‹ฌ๋ ธ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ์—์„œ๋Š” Node.js ํ™˜๊ฒฝ์„ ๊ธฐ์ค€์œผ๋กœ ์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ๋ฅผ JavaScript ๊ฐ์ฒด๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ๋Š” JSON ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

  • ๋ถ„์‚ฐ ์„œ๋น„์Šค ํ˜ธ์ถœ์‹œ ์ธ์ฆ ๋“ฑ์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋งตํ•‘ํ•˜๋„๋ก ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

  • ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.

    • ํ”„๋กœํ† ์ฝœ ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์„œ๋ฒ„, ๋ฏธ๋“ค์›จ์–ด, ์Šคํ‚ค๋งˆ, ํ•ธ๋“ค๋Ÿฌ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

    • ์ ‘๊ทผ ์ œ์–ด ์ •์ฑ…์€ ํ”„๋กœํ† ์ฝœ๋ณ„ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์•„๋‹Œ ์•ก์…˜, ์ด๋ฒคํŠธ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํ‚น ๋ฐ ๋ณต์› ํŒจํ„ด์— ๊ด€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ๋ถ„์‚ฐ ์„œ๋น„์Šค์™€ API Gateway๋Š” ์–ด๋Œ‘ํ„ฐ(Broker)๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

    • ๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์„ ์œ ๋„ํ•˜๊ฑฐ๋‚˜ ๊ด€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ์‹œ์ €๋Š” ๊ฐ€๋Šฅํ•œ ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ–๋„๋ก ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค ๋ธŒ๋กœ์ปค๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๋ณต์› ํŒจํ„ด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • ํšŒ๋กœ์ฐจ๋‹จ๊ธฐ

    • ๊ฒฉ๋ฒฝ

    • ์žฌ์‹œ๋„

    • ์š”์ฒญ ํ