์ฒ์ MSA๊ฐ ๋๋๋ ์ด์ ๋ Netflix์์ MSA ์ฌ์ฉ ํ ๋๋ฐ์ ๋๋ค.์ฐ์ํ ๋ชจ๋ ธ๋ฆฌ์ค ํ๊ธฐ ์ฐธ๊ณ ๋จ์ผ ๋ชจ๋ ๊ตฌ์กฐ :์ ํ๋ฆฌ์ผ์ด์ ์ ๋จ์ผ ๋ชจ๋ ๋๋ ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค๋ก ๊ตฌ์ฑ์ฃผ๋ก ํ๋์ ํ๋ก์ ํธ ๋ด์์ ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ์ปดํฌ๋ํธ๊ฐ ํตํฉ๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค:๋ชจ๋ ๊ธฐ๋ฅ์ด ํ๋์ DB์
์ ๋ก๋์ค..MSA์์ API Gateway๋ ์ค์ํ ์ญํ ์ ํ๋ ์ปดํฌ๋ํธ์ด๋ค.API Gateway๋ ํด๋ผ์ด์ธํธ์ ๋ฐฑ์๋ ์๋น์ค ๊ฐ์ ํต์ ์ ๊ด๋ฆฌํ๊ณ ์ ์ดํ๋ ์ญํ ์ ํ๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ ๊ฐ์ง ์ฅ์ ์ ์ ๊ณตํฉ๋๋ค.์๋๋ API Gateway์ ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ์ด์ ์ ๋ํ ๊ฐ
ํ๋ก์ ํธ ์์ฑGroup : ๋๋ฉ์ธ ์ฃผ์(์ฃผ์์ด๋ฆ) - ์๋น์คํ url๋ช Artifact : ํ๋ก์ ํธ๋ช ์ปดํฌ๋ํธ ์ค์บ & ๋น ๊ฐ์ฒด ๋ฑ๋ก ์ด๋ ธํ ์ด์ @Component, @Service, @Repository๊ธฐ๋ณธ ์ด๋ ธํ ์ด์ ๊ฐ๋ ์ฑ์ ์ํด ๊ตฌ๋ถํด์ค@Controller(@Compo
์คํ๋ง ํด๋ผ์ฐ๋์์ ์ ๊ณตํ๋ Eureka๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ์๋น์ค์ ๋ฑ๋ก, ๋ฐ๊ฒฌ, ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ ์๋ฒ์ด๋ค. ์ด๋ฅผ ํตํด ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํต์ ์ด ํจ์จ์ ์ผ๋ก ์ด๋ค์ง ์ ์๋ค.์คํ๋ง ํด๋ผ์ฐ๋์์ ์ ๊ณตํ API๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ฐ ๊ธฐ์ ๋ง๋ค ๊ตฌํํ ์ฝ
CI/CD : ๋ฐฐํฌ ์๋ํ๋ฐฐํฌ ์์๋ ๋ฏผ๊ฐ์ ๋ณด๋ ํจ๊ป ์ฌ๋ ค์ผํ๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ์ํธํํ ๋ค ๋ฐฐํฌํ๋๋ก ์ฝ๋๋ฅผ ์์ ํด์ค์ผ ํ๋ค.ํ์์๋น์ค๋ฅผ Microservice๋ก ๊ตฌ์ฑํ๊ธฐ๊ธฐ๋ฅ๋ค์ ์ ๋ถ postman์ผ๋ก ์กฐํ๊ฐ ๊ฐ๋ฅํ๋๋ก RestController ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋จ.ํ๋ก์
ํ์ ์ ๋ณด ์กฐํ ์, ์ฃผ๋ฌธ ๋ด์ญ๊น์ง ํจ๊ป ์กฐํ๋๋๋ก ํด์ผํ๋ค.์ ๋ด์ฉ์ ์ฐ๊ด๊ด๊ณ๋ก ์ถ๊ฐํด์ผ ํ๋ค.OrderList๋ฅผ ๋ฐ๋ก ์ป์ด์์ RespnseDTO์ ์ฐ์ ๋ฃ์ด์ฃผ๋ ๋ฐฉํฅ์ผ๋ก ์งํํ๋ฉด ๋๋ค.\*db ๊ด๋ จ ์ค์ ๋ค์ application-db ๋ผ๋ ํ๋กํ์ ๋ณ๋๋ก ๋ฏผ๊ฐ ์
๊ตฌ์ฑ์ ๋ณ๋ก ๋ธ๋ ์น๋ฅผ ๋ง๋ค์ด์ ํ๋ก์ ํธ ์งํ์ ๋ต์ ์ง๋ ์ด์ ? Conflict๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํจ Git-Flow๋ฅผ ์ฌ์ฉํ ์ด์ : ๊ฐ๋ฐ ์ธ์์ด ๋ง์์ ธ์ ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํจmaster(main) - ์ ํ์ผ๋ก ์ถ์๋ ์ ์๋ ๋ธ๋ ์นdevelop - ๋ค์์ผ๋ก ์ถ์ํ
โ ๋ถ์ฐ ์์คํ :์ธํฐ๋ท ์์ ๋ถ์ฐ๋ ์ฌ๋ฌ ์ปดํจํฐ๋ก ์์ ์ ์ฒ๋ฆฌํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ํธ ๊ตํํ๋๋ก ๊ตฌ์ฑํ ์์คํ .โ ํ์ผ ๊ฒฝ๋ก : file:// ์์ฝ์ด๋ฅผ ํตํด ํ์ผ&๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก์์ ๊ฒ์ํจ์ โ ์ํธํ ๊ด๋ จ - ๋์นญ & ๋น๋์นญ ํค๋์นญํค : ์ํธํ -๋ณตํธํ๊ฐ ๋์ผํ ํค๋ก
MSA ๊ฐ๋ณ ์๋น์ค๊ฐ ํต์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก,feignresttemplate์ด ์๋ค.์ด ์ค feign client๋ฅผ ์ด์ฉํ ๊ฐ๋ณ ์๋น์ค๊ฐ์ ํต์ ์ ์ค์ต ํด๋ณด์.Feign Client : ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ ์๋ฒ.DataBase : ํ์ํ ๋ฐ์ดํฐ๊ฐ ์๋ ์๋ฒ.
์ํํธ์จ์ด ์์คํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋น๋๊ธฐ์ ์ผ๋ก ์ ์กํ๋๋ฐ ์ฌ์ฉ๋๋ ์ค๊ฐ ๋งค๊ฐ์ฒด์ด๋ค.์ผ๋ฐ์ ์ผ๋ก ๋ถ์ฐ ์์คํ ์์ ์ฌ์ฉ๋๋ฉฐ, ์์คํ ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ ํ์ฅ์ฑ์ ๋์ด๋๋ฐ ๋์์ ์ค๋ค.๋ฉ์์ง๋ฉ์์ง ํ๋ฅผ ํตํด ์ ์ก๋๋ ๋ฐ์ดํฐ ๋จ์์ด๋ค. ๋ฉ์์ง๋ ํ ์คํธ, JSON, ๋ฐ์ด๋๋ฆฌ ๋ฑ