MSA
Last updated
Last updated
์ปค๋ค๋ Monolith ๋ฐฑ์๋๋ฅผ ์์ ์๋น์ค๋ก ๋๋๊ณ ๊ฐ ์๋น์ค๋ฅผ ๋ ๋ฆฝ์ ์ด๊ณ ๋์จํ๊ฒ ๊ฒฐํฉ๋๊ฒ ๋ง๋๋ ์ํคํ ์ฒ
ํ๋ก ํธ, ๋ฐฑ์๋ (API, DB)๋ฅผ ํ๋์ ํ, ํ๋์ ํ๋ก์ ํธ์์ ํจ๊ป ๋ง๋ค์ด ์์ ๋ฐ ๋ฐฐํฌ๋ฅผ ์งํ
ํ๋ก ํธ ์ฌ์ด๋, ๋ฐฑ์๋ ์ฌ์ด๋ ์ผ๋ถ๋ถ์ ์์ ํ๋๋ผ๋ ์ ์ฉํ๋ ค๋ฉด ์ ์ฒด ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌํด์ผํจ
์์ ๋ถ๋ถ์ ๋ณ๊ฒฝํด๋ ์ ์ฒด์ ์ํฅ์ ๋ฏธ์น๋ ํตํฉ๋ ํ๋์ ์์คํ ์ ์๋ฏธ
๋ง์ ์ธ์์ด ๋์์ ํจ์จ์ ์ผ๋ก ์์ ํ ์ ์๋๋ก ํ๋ก ํธ์๋, ๋ฐฑ์๋๋ก ํ์ ๋ถ๋ฆฌ
๋๋ ํ๋ก ํธ์ ๋ฐฑ์๋๋ API ์ธํฐํ์ด์ค ๊ธฐ๋ฐ์ผ๋ก ์ํตํ๋ฉฐ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌ๋ ๋ ๋ฆฝ์ ์ผ๋ก ์งํ
๋ฐฑ์๋๋ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ๋์ฑ ์ ๋ฌธ์ ์ผ๋ก ๊ณ ๋ํ์ํฌ ๋ชฉ์ ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋์
๊ธฐ๋ฅ์ ์ผ๋ก ๋๋ ์ฌ๋ฌ ๋ฐฑ์๋ ์๋น์ค๋ค๊ณผ ํ๋ก ํธ์๋ ์ฌ์ด์ ๋นํจ์จ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํด BFF
์ GraphQL
์ด ์ ํํ๊ฒ ๋จ
์ฌ๋ฌ ๋ฐฑ์๋ ์๋น์ค์์ ์ค๋ ๋ค์ํ ๋ฉ์์ง ๊ท๊ฒฉ ๋๋ ๋ฐ์ดํฐ ํ์์ ํต์ผ๋ ํ์ค ํ์์ผ๋ก ๊ฐ๊ณตํ๊ณ ์ ๊ณตํด์ค์ผ๋ก์จ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ค์ด ์ผ๊ด๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ค๋ฃฐ ์ ์๊ฒ ํ๋ค.
Aggregation Layer๋ฅผ ํ์ฉํ์ฌ ์ ์ง์ ์ผ๋ก MFA๋ก ์ ํํ๋ ๋ฐฉ์์ ๊ณ ๋ ค
BFF(Backend For Frontend) โ ์ฌ๋ฌ ๋ฐฑ์๋ ์๋น์ค๋ค๊ณผ ํ๋ก ํธ์๋ ์ฌ์ด์ ๋ ํ๋ก ํธ์๋๋ฅผ ์ํ ์ค๊ฐ ์๋ฒ
์ฌ๋ฌ ๋ฐฑ์๋์ฌ์ด๋์ ๋ฉ์์ง ๊ท๊ฒฉ์ ํต์ผํ ์์ผ์ฃผ๋ ์ญํ
ํน์ ์๋ต๊ฐ์ ์ป๊ธฐ ์ํด ์ฌ๋ฌ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ํธ์ถํด์ผ ํ๋ ๊ฒฝ์ฐ
๋ธ๋ผ์ฐ์ ํต์ ์ ๋ ธ์ถ ์ํ์ด ์๋ ๋ฐ์ดํฐ๋ค์ ๋ณด๊ด ํด์ผํ๋ ๊ฒฝ์ฐ
ํ๋ก ํธ์๋์์ ๊ณ ๋น์ฉ์ ๋ณต์กํ ์ฐ์ฐ์์ ์ BFF์ ์์ํ์ฌ ์ถ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต
GraphQLโ Graphql์ schema(๊ท๊ฒฉ)์ ์ ๊ณตํด์ค์ผ๋ก์จ ํ์ํ ๋ฐ์ดํฐ๋ง์ ์์ฒญ
๋จ์ผ ์๋ํฌ์ธํธ๋ก ๋ชจ๋ ๋ฐ์ดํฐ ์์ฒญ์ ์ฒ๋ฆฌ
๋ฐฑ์๋ ์๋น์ค๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ํ์คํ
"๋ ๋ฆฝ์ ์ผ๋ก ์ ๊ณต ๊ฐ๋ฅํ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ์ฌ ๋ ํฐ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋๋ ์ํคํ ์ฒ ์คํ์ผ"
๋ฐฑ์๋์ Microservice
์์น์ ํ๋ก ํธ๊น์ง ํ์ฅํ๋ ค๋ ์๋๊ฐ ๋์ด๋๊ฒ ๋๋ฉด์ Micro Frontends๋ผ๋ ์ฉ์ด๊ฐ ์๊ธฐ๊ฒ ๋จ
ํ์ Mission์ ์์ํ๊ธฐ ์ํด ์ฌ๋ฌ ์ง๊ตฐ์ ๋ค์ํ ํ์๋ค์ด ๋ชจ์ฌ ์ ๋ฌด๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ์์จ์ ์ผ๋ก ์ํ
์์ ์ง์ ์ธ ๊ธฐํ๋ถํฐ ๋์ง์ ์ธ ๋ฐฐํฌ๊น์ง ๋ชจ๋ ๋คํ๋ ํ์ End-to-End ํ(๋ชฉ์ ์กฐ์ง, Cross Functional Team, Chapter, Silo)์ด๋ผ ๋ถ๋ฅธ๋ค.
๋จ์ํ ๊ธฐ์ ์ ๋ฌธ์ ๋ฟ๋ง ์๋๋ผ ์กฐ์ง์ ๋ฌธ์ ๊น์ง ํ์ด๊ฐ๋ค.
ํฌ๊ณ ๋ณต์กํ ์ ํ์ ์ฌ๋ฌ ํ์ด ๋์์ ๋๋์ด ์ฝ๊ฒ ์์ ์ ์งํ
์ด๋ฐ ๋ณํ๋ ๊ธฐ์ ์ ์ธ ๋ถ๋ถ์๋ง ๊ตญํ๋์ง ์๊ณ ์กฐ์ง ์ฒด๊ณ๊น์ง ํจ๊ป ๋ณํํ๊ธฐ ๋๋ฌธ์ ํฐ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ก ์ป๋ ์ด์ ์ด ๋ ๋ง์ ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ข๋ค.
๊ฐ๋ฐ์๋ก์ ์ข์ ์ํคํ ์ฒ๋ฅผ ๋ง๋ค์ด ๋๊ฐ๋ ๊ฒ์ด ๊ฒฝ์ ์ ์ผ๋ก ์ค์ํ๋ค๋๊ฒ์ ํ์คํ ์ธ์งํ์. ์ง๊ธ ๋น์ฅ ์ด๋ป๊ฒ๋ ๋์ํ๋๋ก ๋ง๋๋๊ฒ์ด ์๋๋ผ ์ข์ ๋์์ธ์ ์ํด ๋ ธ๋ ฅํด ๋๊ฐ๋ ๊ฒ์ด ๊ฒฐ๊ตญ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ๋ค์ด๊ฐ๋ ๋น์ฉ๊ณผ, ๋ฒ๊ทธ ๋ฐ์์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ค์๊ฒ ์ข์ ์ธ์๊ณผ ๋ค๋ฅธ ์ ํ๋ค๊ณผ์ ๊ฒฝ์๋ ฅ์ ๋ํ ์ ์๋ค.