๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด๋ ํด๋ผ์ด์ธํธ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํธ๋ํฝ์ ์ง์ํ๊ณ ๊ด๋ฆฌํ๋ ์ง์ ์ ์ญํ ์ ํ๋ ์ต์ ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์ ํ์ ๊ตฌ์ฑ ์์์ ๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค์ ๋งฅ๋ฝ์์ ์ด ๊ฒ์ดํธ์จ์ด๋ ๋ถ์ฐ ์์คํ ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ ์ฌ์ด ํตํฉ, ๊ฐ๋ ฅํ ๋ณด์, ์ ์ฐํ ํ์ฅ์ฑ ๋ฐ ํจ์จ์ ์ธ ํต์ ์ ์ด์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด๋ ํธ๋ํฝ ๋ผ์ฐํ , ์ก์ธ์ค ๋ณด์, ๋ณต์๋ ฅ ๋ณด์ฅ์ ํตํด ๋ณต์กํ ์๋น์ค ๋ฉ์ ๊ด๋ฆฌ ๋ฌธ์ ๋ฅผ ์ํํฉ๋๋ค. ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์์ฒญ ๋ฐ ์ํธ ์์ฉ์ ๋ํ ์ค์ ์ง์ค์ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ถ์์ ์ง์ํ๊ณ , ์๋น์ค ์ํ ๋ฐ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ , ์ ์ฒด ์์คํ ์ด ๋ด๊ฒฐํจ์ฑ๊ณผ ๋ณต์๋ ฅ์ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด์ ํต์ฌ์์ ์ฑ ์์ ๋ผ์ฐํ , ์ธ์ฆ, ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ๋ณต์๋ ฅ์ด๋ผ๋ ๋ค ๊ฐ์ง ์ฃผ์ ์์๋ก ์ถ์ ๋ ์ ์์ต๋๋ค. ๊ฐ ์ธก๋ฉด์ ๊ฐ๋ตํ๊ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ผ์ฐํ : ๋ง์ดํฌ๋ก์๋น์ค๋ ์ฌ๋ฌ ํ๊ฒฝ๊ณผ ๋คํธ์ํฌ์ ๋ฐฐํฌ๋ ์ ์์ผ๋ฏ๋ก ๊ฒ์ดํธ์จ์ด๋ API ๊ฒ์ดํธ์จ์ด ์ญํ ์ ํ์ฌ ์ด๋ฌํ ์๋น์ค์ ์ฌ๋ฌ ์ธ์คํด์ค์์ ํต์ ์ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋๊ธฐ ์๊ฐ, ์ค๋ฅ์จ ๋๋ ๊ธฐํ ์ฌ์ฉ์ ์ง์ ๊ธฐ์ค๊ณผ ๊ฐ์ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ ์ ๋ผ์ฐํ ์ด ๋ณด์ฅ๋ฉ๋๋ค.
์ธ์ฆ: ๋ง์ดํฌ๋ก์๋น์ค๋ ์์ ํ๊ฒ ํต์ ํด์ผ ํ ์ ์์ผ๋ฏ๋ก ๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด๋ ์ค์ ์ง์ค์ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ์คํ๋ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ ๊ณตํ์ฌ JWT, OAuth2 ๋๋ OpenID Connect ํ ํฐ ํ์์ผ๋ก ๋ณด์ ์ก์ธ์ค๋ฅผ ์ด์งํฉ๋๋ค.
๋ก๋ ๋ฐธ๋ฐ์ฑ: ๊ฒ์ดํธ์จ์ด๋ ์ฌ๋ฌ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค์ ๊ฑธ์ณ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ถ์ฐํ๋ ๋ฐ ๋์์ ์ฃผ์ด ์์๊ฐ ๊ธ์ฆํ๋ ๋์ ์์คํ ์ด ์๋ต์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ์ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ํ ๋ก๋ ๋ถ์ฐ์ ์ต์ ํํ๊ธฐ ์ํด ๋ผ์ด๋ ๋ก๋น, ์ต์ ์ฐ๊ฒฐ ๋๋ ์ฌ์ฉ์ ์ ์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค.
๋ณต์๋ ฅ: ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ ๊ฐ์ฉ์ฑ, ๋ด๊ฒฐํจ์ฑ ๋ฐ ์ค๋ณต์ฑ์ ๋ณด์ฅํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด์ ํต์ฌ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ํ ํ์ธ, ํ๋ก ์ฐจ๋จ๊ธฐ ๋ฐ ์ฌ์๋๋ฅผ ๊ตฌํํ์ฌ ์ค๋ฅ๋ ๋ณ๋ชฉ ํ์์ด ์์คํ ์ ์ฒด์ ์ ํ๋์ง ์๋๋ก ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ์ ์งํฉ๋๋ค.
์ด์ ๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด์ ์ฃผ์ ์ฑ ์์ ์ดํดํ์ผ๋ฏ๋ก ๋ง์ดํฌ๋ก์๋น์ค ์์ฝ์์คํ ์์ ์ด ๋์์ธ ํจํด์ ๊ตฌํํ๋ ๋ฐ ๋ฐ๋ฅธ ์ค์ํ ์ด์ ์ ๋ค๋ฃจ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
1. ๊ฐ๋ฐ์๊ฐ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ ๋คํธ์ํน์ ๋ณต์ก์ฑ์ ์๋์ผ๋ก ์ฒ๋ฆฌํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์๋น์ค ํตํฉ์ด ๋จ์ํ๋ฉ๋๋ค.
2. ํ๋์ ์ค์ ์ง์ ์์ ์ธ์ฆ๊ณผ ์น์ธ์ ๊ด๋ฆฌํ๋ฏ๋ก ๋ณด์์ด ๊ฐํ๋ฉ๋๋ค.
3. ์ค์ ์ง์ค์ ๋ก๊น , ๋ชจ๋ํฐ๋ง ๋ฐ ๋ถ์์ ํตํด ์ ์ฒด ์์คํ ์ ์ฑ๋ฅ์ ๋ณด๋ค ์ฝ๊ฒ โโ๊ฐ๋ ํ๊ณ ์ ์งํ ์ ์์ต๋๋ค.
4. ๊ฒ์ดํธ์จ์ด๋ฅผ ํตํด ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์์์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ์๋ก์ด ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ์กด ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฑ ์ํํ ํ์ฅ์ฑ์ ์ํํ ์ ์์ต๋๋ค.
5. ๊ฐ๋ฐ์๊ฐ ๋ง์ดํฌ๋ก์๋น์ค์ ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ๋ ๋ฐ ์ง์คํ๊ณ ํ๋ซํผ ๋๊ตฌ๋ฅผ ํตํด ํธ๋ํฝ ๊ด๋ฆฌ, ๋ณด์ ๋ฐ ๊ธฐํ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ ์ํฌํ๋ก๊ฐ ๊ฐ์ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด AppMasterno-code ํ๋ซํผ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ Microservices Gateway๋ฅผ ํ์ฉํ์ฌ ๊ณ ๊ฐ์ด ๊ตฌ์ถํ๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ํจ์จ์ ์ธ ํต์ ๋ฐ ํ์ ์ ๋ณด์ฅํฉ๋๋ค. ์ํํ ํตํฉ์ ํตํด ์ด ํ๋ซํผ์ ํตํด ์ฌ์ฉ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๊ณผ์ ์ ๋ณต์ก์ฑ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ์์ฑ, ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก, ๋ง์ดํฌ๋ก์๋น์ค ๊ฒ์ดํธ์จ์ด๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ์ ๋ฐ์ ์ธ ํจ์จ์ฑ์ ํฅ์์ํค๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด๋ฅผ ๊ตฌํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋์์์ด ์งํํ๋ ๊ธฐ์ ํ๊ฒฝ์ ์ฆ๊ฐํ๋ ์๊ตฌ๋ฅผ ์ฝ๊ฒ ์ถฉ์กฑํ ์ ์๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๊ฐ๋ ฅํ๋ฉฐ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.