Microservice Architecture
Last updated
Was this helpful?
Last updated
Was this helpful?
์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๊ธฐ๋ฅ์ ๊ฐ์ง ์๋น์ค๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ(๊ฐ db ๋ํ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ) API์ ์ด์ฉํด์ ํ ์๋น์ค์ ํต์ ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์ํคํ ์ฒ
์ด์์ฐ๋งค๋์ ๋์ด ์ฃผ์ ํ๋ซํผ ๊ตฌ์ฑ ์ปดํฌํดํธ ๋ฆฌ์คํธ๋ฅผ ๋ณด๊ณ ๊ทธ๋ฆผ์ ๋ณด๋๊น ์ฝ๊ฒ ์ดํด!!!
์ฌ๊ธฐ์ ๋ง์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์๋ค :
๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ, ํ์ฅ ๋ ์ ์๋ ์๋น์ค๋ค์ ์กฐํฉํด์ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ด๋ค! ๊ทธ๋ฆฌ๊ณ ํญ์ ๊ธฐ์ ์ค๋ฆฝ์ ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ํต์ ํ๊ธฐ ๋๋ฌธ์ ์๋น์ค ๊ตฌํ ๊ธฐ์ ๊ณผ๋ ๋ฌด๊ดํ๋ค.
์ธ๋ถ ์๋น์ค๋ก ๋๋ ์ ์์ ํ๊ธฐ ๋๋ฌธ์ ์๋ก์๊ฒ ์ํฅ์ ๋ผ์น์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์ญํ ์ํ
๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ก ์ด๋ฃจ์ด์ก๊ธฐ ๋๋ฌธ์, ๋ค๋ฅธ ์ธ์ด๋ก ๋ณ๊ฒฝํ๋ ๊ฒ๋ ์ฉ์ด
๊ฐ ์ปดํฌ๋ํธ๋ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๋ ๊ฐ๋ฅํ๋ค,
๊ฐ๊ฐ์ด ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ์ธ๋ถ์ ์ธ ํ์ฅ๋ ์ฝ๊ฒ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
SRP(Single Responsibility Principle) ์๋ฆฌ๊ฐ ์ ์ ์ฉ๋จ
๋ฒ์ธ - ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น(SOLID)
SRP(Single Responsibility Principle) : ํ๋์ ๊ฐ์ฒด๋ ํ๋์ ๊ธฐ๋ฅ๋ง ๊ฐ์ ธ์ผ ํ๋ค.
OCP(Open Closed Principle) : ํ์ฅ์๋ ์ด๋ ค์์ด์ผ ํ๊ณ , ์์ ์๋ ๋ซํ์์ด์ผ ํ๋ค.
LSP(Liskov Substitution Principle) : ์์ ํด๋์ค๋ ์ธ์ ๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ๋์ฒดํ ์ ์์ด์ผ ํ๋ค.
ISP(Interface Segregation Principle) : ํ๋์ ์ผ๋ฐ์ ์ธ ์ธํฐํ์ด์ค๋ณด๋ค ์ฌ๋ฌ ๊ฐ์ ๊ตฌ์ฒด์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์
DIP(Dependency Injection Principle) : ์์ ํด๋์ค๊ฐ ํ์ ํด๋์ค๋ฅผ ์์กดํ์ง ์๋๋ก ๊ตฌํํ์
ํ์ง๋ง ๊ฐ ์๋น์ค๋ณ๋ก API์ ํธ์ถํด์ ํต์ ํ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋๋ฆฌ๊ณ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋ค. => ๋ฐ๋ผ์ ๋ถ๋ถ ์คํจ๋ฅผ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ ๋ฐ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผํ๋ค.
๊ฐ ํธ๋์ญ์ ์ ์ ์งํ๋ ๊ฒ์ด ์ด๋ ต๋ค.
๋จ์๋ณ๋ก ์๋น์ค๊ฐ ๋๋์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ๋ฅผ ์งํํ๋๋ผ๊ณ ๋ค๋ฅธ ์๋น์ค์์ ํ์คํ ์ฐ๋์ ๋ณด์ฅํ ์ ์๋ค.
ํ๋์ ์์๋ณด๊ธฐ ์ฌ์ด ๊ทธ๋ฆผ
API๋ฅผ ํตํด์ request๊ฐ ๋ค์ด์ค๊ฒ ๋๋ฉด Service Layer์์ ๋ฐ์์ Core Layer์ ๋ค์ด๊ฐ์ ์ฒ๋ฆฌํด์ฃผ๋ ๊ตฌ์กฐ
๊ธฐ์กด์ ์๊ณ ์์๋ ์งํ ๋ฐฉ์์ด ๋ชจ๋ ธ๋ก์ ์ํคํ ์ฒ์ด๋ค. ํ๋์ ํจํค์ง ์์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ค์ด ๋ค์ด์๋ ๋ฐฉ์์ด๊ณ , ํ๋ฒ์ ๋ค ๋น๋ํด์ ๋ฐฐํฌํ๋ ๋ฐฉ์์ด๋ค.
๋ชจ๋ ธ๋ก์ ์ํคํ ์ฒ๋ ๋น ๋ฅด๊ฒ ์๋น์ค๋ฅผ ๋ง๋ค๊ณ ์ ๊ณตํ ์ ์๋ค๋ ์ ๊ณผ ํผ๋๋ฐฑ๋ ๋น ๋ฅด๊ฒ ๋ฐ์์ ํด๊ฒฐํ ์ ์๋ค๋ ์ ์ด ์ฅ์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๋จ์
ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ์งํ๋๊ธฐ ๋๋ฌธ์ ๋ง์ฝ์ ํ ๊ณณ์์ ์๋ฌ๊ฐ ๋๋ฉด, ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ!
ํ๋์ ์ปค๋ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐ ๋๋ฌธ์ ์์ ํ๊ฑฐ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด์๋ ๊ธฐ์กด์ ์ปค๋ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ถฉ๋ถํ ์ดํด๊ฐ ํ์ํ๋ค.
ํ๋ก๊ทธ๋จ์ด ํฌ๋ฉด ํด์๋ก ํ๋ก๊ทธ๋จ์ ์์ ํด์ ์ค์ ๋ก ๋๋ฆฌ๊ฒ ๋๋ฉด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๋จ์ ์ด ์๋ค.
ํ๋์ ์์๋ณด๊ธฐ ์ฌ์ด ๊ทธ๋ฆผ
์ถ์ฒ :
์ถ์ฒ :