arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Branch

์ œ๊ฑฐ ํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋Š” master ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. ์ด์™ธ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ๋ช…์‹œํ•˜์—ฌ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜ ๊ด€๋ จ ๋‚ด์šฉ์€ ์•„๋ž˜์—์„œ ๋‹ค์‹œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Load-Balancing

๋™์ ์œผ๋กœ ์Šคํ‚ค๋งˆ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  API๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” Gateway๋Š” ๋™์ผํ•œ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์—ฌ๋Ÿฌ๊ฐœ ์กด์žฌํ•  ๋•Œ ๋ฌธ์ œ๋ฅผ ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค.

์˜ˆ์‹œ

  • player ์„œ๋น„์Šค๊ฐ€ A, B ๋‘ ํ˜ธ์ŠคํŠธ์—์„œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐ๋˜์–ด ๋””๋ฒ„๊น…๋˜๊ณ  ์žˆ๋‹ค๋ฉด, Gateway๋Š” player ์„œ๋น„์Šค API ์Šคํ‚ค๋งˆ๋ฅผ A ํ˜ธ์ŠคํŠธ์˜ ์Šคํ‚ค๋งˆ, B ํ˜ธ์ŠคํŠธ์˜ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์–ด ์›๊ฒฉ์ง€์˜ ๋‘ ๊ฐœ๋ฐœ์ž๋Š” ๋””๋ฒ„๊น…์— ๋ฌธ์ œ๋ฅผ ๊ฒช์Šต๋‹ˆ๋‹ค.

    • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋กœ์ปฌ์— ์ „์šฉ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๊ณ  ๋ถ„์‚ฐ ์‹œ์Šคํ…œ๊ณผ์˜ ์—ฐ๊ฒฐ(eg. VPN ํ„ฐ๋„)์„ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • player ์„œ๋น„์Šค์˜ get ์•ก์…˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ์‘๋‹ต ์ŠคํŽ™์ด A ํ˜ธ์ŠคํŠธ์—์„œ ๋””๋ฒ„๊น… ์ค‘์ธ ๊ฒฝ์šฐ, ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ๊ธฐ์กด์— ๋ฐฐํฌ๋œ X ๋…ธ๋“œ์˜ player ์„œ๋น„์Šค์˜ get ์•ก์…˜์œผ๋กœ ํ”„๋ก์‹œ๋˜๋Š” ๊ฒฝ์šฐ๋„ ์—ญ์‹œ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์ž์‹ ์˜ ํ˜ธ์ŠคํŠธ๋กœ ๊ฐ•์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์š”์ฒญ์‹œ ํด๋ผ์ด์–ธํŠธ IP๋‚˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ด์ „ ๋ฒ„์ „์˜ Gateway์—์„œ ์‹œ๋„๋˜์—ˆ์œผ๋‚˜ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์œ„์˜ ์—ฌ๋Ÿฌ ์ „๋žต์„ ์‹คํ—˜ํ•ด๋ณธ ํ›„ Gateway๋Š” ๋ธŒ๋žœ์น˜ ๋ฐ ํƒœ๊ทธ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์‹œ ์ถฉ๋Œ ํšŒํ”ผ๋ฅผ ์ง€์›ํ•˜๊ณ , ์ถ”๊ฐ€๋กœ ๋ธŒ๋žœ์น˜๋ณ„ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • call

    • master ๋ธŒ๋žœ์น˜์—์„œ๋Š” API ์—”๋“œํฌ์ธํŠธ์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ์•ก์…˜์„ ํ˜ธ์ถœ ํ•  ๋•Œ master,(none) ๋ธŒ๋žœ์น˜์— API๋ฅผ ์ œ๊ณตํ•œ ์„œ๋น„์Šค ๋…ธ๋“œ๋ฅผ ์šฐ์„ ์œผ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.

{
  branch: "master",

๋˜๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋กœ์ปฌ์— ๊ฐœ๋ฐœ์šฉ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์ง€๋งŒ, ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐํ•ด ๋ฐฐํฌ๋œ ํƒ€ ์„œ๋น„์Šค์— ์˜์กด ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰ ์ด์™ธ(eg. dev)์˜ ๋ธŒ๋žœ์น˜๋กœ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด์™ธ์˜ ๋ธŒ๋žœ์น˜(eg. dev)์—์„œ๋Š” API ์—”๋“œํฌ์ธํŠธ์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ์•ก์…˜์„ ํ˜ธ์ถœ ํ•  ๋•Œ dev,master,(none) ๋ธŒ๋žœ์น˜์— API๋ฅผ ์ œ๊ณตํ•œ ์„œ๋น„์Šค ๋…ธ๋“œ๋ฅผ ์šฐ์„ ์œผ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.

    • ์ฆ‰ ํ˜„์žฌ ๋ธŒ๋žœ์น˜(eg. dev)์— ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ master ๋ธŒ๋žœ์น˜์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ฐจ์„ ์œผ๋กœ ์ฐพ์Šต๋‹ˆ๋‹ค.

  • ์ด ๊ทœ์น™์€ API ํ•ธ๋“ค๋Ÿฌ ์ƒ์„ฑ์‹œ์— ๋ธŒ๋žœ์น˜ ์ „๋žต์— ๋”ฐ๋ผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • publish, subscribe

    • ์ด๋ฒคํŠธ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์—๋Š” ์„œ๋น„์Šค ๋ธŒ๋กœ์ปค์— ์—ฐ๊ฒฐ๋œ ์ค‘์•™ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค์˜ ์ •์ฑ…์„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.