arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

API Handler

hashtag
B. API Handler

Dynamic Handler

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

๋™์  ํ•ธ๋“ค๋Ÿฌ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ธŒ๋žœ์น˜ ํ•ธ๋“ค๋Ÿฌ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.

Branch Handler

๋ธŒ๋žœ์น˜ ํ•ธ๋“ค๋Ÿฌ๋Š” ํƒœ๊ทธ์— ๋”ฐ๋ผ ๋ฒ„์ „ ํ•ธ๋“ค๋Ÿฌ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ธŒ๋žœ์น˜ ํ•ธ๋“ค๋Ÿฌ๋“ค์€ ์•„๋ž˜์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

  • master ๋ธŒ๋žœ์น˜๋ฅผ ์ œ์™ธํ•˜๊ณ , 60๋ถ„ ์ด์ƒ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ๋ธŒ๋žœ์น˜ ํ•ธ๋“ค๋Ÿฌ๋Š” ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

Version Handler

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

์ด ๋ฒ„์ „ ํ•ธ๋“ค๋Ÿฌ๋“ค์€ ์•„๋ž˜์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

  • 10๊ฐœ๋ฅผ ์ดˆ๊ณผ(๊ธฐ๋ณธ๊ฐ’)ํ•˜๋Š” ๋ฒ„์ „์ด ์กด์žฌํ•œ๋Š” ๊ฒฝ์šฐ ์˜ค๋ž˜๋œ ์ˆœ์œผ๋กœ ๋ฒ„์ „ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

Non-Persistence

API ์Šคํ‚ค๋งˆ์˜ ๋ธŒ๋žœ์น˜ ๋ฐ ํƒœ๊ทธ ๊ธฐ๋Šฅ์€ ๋ฒ„์ „ ๊ด€๋ฆฌ(/v1, /v2 ๊ฐ™์€)๊ฐ€ ์•„๋‹Œ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ๊ฐœ๋ฐœ ํŽธ์˜๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ

  • Gateway์—๋Š” Persistence Layer๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Gateway ์žฌ์‹œ์ž‘์‹œ ๋ธŒ๋žœ์น˜, ๋ฒ„์ „ ๋ฐ ํƒœ๊ทธ ์ •๋ณด๊ฐ€ ๋ณต์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Gateway ๋…ธ๋“œ๊ฐ„์— ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ์ „๋žต์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ Gateway ์žฌ์‹œ์ž‘ ์ดํ›„ ๋ชจ๋“  ์„œ๋น„์Šค๋“ค์— ๋Œ€ํ•œ discover๊ฐ€ ์ง„ํ–‰๋˜๋ฉด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฐ ๋ธŒ๋žœ์น˜์˜ latest ๋ฒ„์ „์—๋Š” ์ตœ์‹  Gateway API ์Šคํ‚ค๋งˆ๊ฐ€ ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ธŒ๋žœ์น˜์˜ latest ๋ฒ„์ „์˜ ์‹ ๋ขฐ์„ฑ์€ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.

Gateway ๋…ธ๋“œ๊ฐ„์— ์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ ๋ณ‘ํ•ฉ์˜ ์ˆœ์„œ๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋ณด์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.