๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ, ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ, ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ๋ชจ๋ ์ ์ฉํ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ ๊ณผ์ ์ ๋ณด์ฌ์ค๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ
ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ ์ ์ฉ
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ๊ฐ๋ฐ
์ด๋ฒคํธ ์ฃผ๋ ์ํคํ ์ฒ ์ ์ฉ
MSA
๊ฐ์ ํ๋๋ก ์์ฑํ๋
๋ง์ดํฌ๋ก์๋น์ค ๊ตฌํ ์ํคํ
์ฒ 3๋์ฅ!
(1) ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ (2) ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ (3) ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ํตํด ๊ธฐ์ ์ ์ ์ฐํ๋ฉด์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํด ์ ์ง๋ณด์์ฑ์ด ๋์ผ๋ฉฐ, ์์กด์ฑ์ด ๋ฎ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌํ์ ๋ํด ์์๋ด ๋๋ค.
๐ฅ
MSA์ ๋๋ต์ ์ธ ๊ฐ๋ ์ ์ดํดํ๊ธด ํ๋๋ฐ, ๋ง์ ์ด๋ป๊ฒ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๊ตฌํํด์ผ ํ ์ง ๋ง๋งํด์
๐
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๊ฐ ํฅ์ฌ๊ณ ๋, EDA์ ๊ด๋ จ์ด ์๋ค๊ณ ํ๋๋ฐ ๊ตฌํ์ ์ด๋ป๊ฒ ์ ์ฉํด์ผ ํ๋์?
๐ต
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ๊ฐ์ข๋ฅผ ๋ฃ๊ณ ๋๋ฉ์ธ ๋ชจ๋ธ์ ์ค๊ณํ๊ธด ํ๋๋ฐ ์ค์ ๋ก ๊ตฌํ์ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ๋ง๋งํ๋ค์.
MSA ๊ตฌ์กฐ์์ ๊ฐ์ฅ ๋ง์ด ๊ฑฐ๋ก ๋๋ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ, ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ, ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ ๋ฑ์ ๋ํด ๋ง์ ๊ฐ๋ฐ์๋ค์ด ๊ฐ๋ ์ /์ด๋ก ์ ์ผ๋ก ๋ง์ด ์ ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง, ๋ง์ ์ค์ ๋ก ์ด๋ป๊ฒ ์ ์ฉํ ๊น๋ฅผ ์๊ฐํ๋ฉด ๋ง๋งํ๊ธฐ ๊ทธ์ง์๊ธฐ ๋ง๋ จ์ ๋๋ค.
๋ณธ ๊ฐ์๋ MSA ๊ฐ๋ ๊ณผ ์ํคํ ์ฒ/์ค๊ณ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ์ด์ ๊ฐ์๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ ์ค์ต ์ค์ฌ ๊ฐ์๋ก
์ด์ ๊ฐ์์์ ์ ์ํ ์์ ์ค์ต ์ํคํ ์ฒ ๋ฐ ์ค๊ณ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก DDD, ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ, EDA๋ฅผ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ๋ชฉํ ์ ์์์ง์ ๋ํด ์ค์ ์ฝ๋๋ก ๊ตฌํํ๊ณ ์ค๋ช ํฉ๋๋ค. ๋ํ ๋ง์ง๋ง์๋ EDA ๊ตฌํ์ ํ์ค์ ๋ฌธ์ ์ธ ๋ถ์ฐ ํธ๋์ญ์ ์ ์ํ SAGA ํจํด๋ ์ ์ฉํด ๋ด ๋๋ค.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
(Domain-Driven Design, DDD)
๋น์ฆ๋์ค ์ ๋ต, ๋๋ฉ์ธ ํจํด์ ์ค์ฌ์ผ๋ก ์ํํธ์จ์ด ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ถํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
ํฅ์ฌ๊ณ ๋ ์ํคํ
์ฒ
(Hexagonal Architecture)
๋๋ฉ์ธ ์ค์ฌ์ผ๋ก ์์กด์ฑ์ ํ๋ฆ์ด ์ธ๋ถ๋ก ๋๊ฐ์ง ์๋๋ก ๊ด๋ฆฌํ๋ ์ํคํ ์ฒ ํจํด
์ด๋ฒคํธ ์ฃผ๋ ์ค๊ณ
(Event Driven Architecuture)
ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ถ์ฐ ๋น๋๊ธฐ ์ํคํ ์ฒ
์ ์ฐํ๊ณ ํ์ฅ์ฑ ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ๋์ ํ๊ณ ์ ํ๋ ๊ธฐ์ /์ค๊ณ ๋ฆฌ๋
ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๋ฅผ ๋ง์ดํฌ๋ก์๋น์ค์ ์ ์ฉํ๊ณ ์ ํ๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ์
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ(DDD) ๋ฐ ๊ตฌํ์ ๊ด์ฌ์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์
์ค์ต ๋๋ฉ์ธ์ ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค ๋ณ ์ฑ๊ฒฉ, ๊ตฌ์ฑ ์คํ, ๋ง์ดํฌ๋ก ์๋น์ค ๊ฐ์ ํต์ ๊ด๊ณ๋ฅผ ์์๋ด ์๋ค.
์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ํ์ ์์์ธ ์ด๋ฒคํธ ๋ธ๋ก์ปค์ ํน์ง์ ์ค๋ช ํ๊ณ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํต์ ์ ์ํด ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ์ 3๊ฐ์ง ํฅ์ฌ๊ณค ์ ํ์ ์ค๋ช ํ๊ณ ์ํคํ ์ฒ๋ฅผ ์ ์ฉํ๊ธฐ ์ํ ์คํ๋ง ๋ถํธ ํจํค์ง ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ ํต์ ์ธ ๋ ์ด์ด๋ ์ํคํ ์ฒ(Layered Architecture)์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ(Hexagonal Architecture)๋ฅผ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ์ ์ตํฉํ์ฌ ๊ตฌํํ๋ ๋ฐฉ์์ ์ค๋ช ํ๊ณ ์ฃผ์ ๊ตฌ์ฑ์์๋ฅผ ์์ธํ ์์๋ด ๋๋ค.
๋์ ๋์ฌ ์์คํ ์ด๋ ์ฃผ์ ๋ฅผ ๊ฐ์ง๊ณ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ(์ ์ ์ ์ค๊ณ)๋ก ๋ชจ๋ธ๋ง ํ ๋ง์ดํฌ๋ก์๋น์ค ๋ณ ๋๋ฉ์ธ ๋ชจ๋ธ์ ์ค๋ช ํ ๋ค์ ์ค์ ์ฝ๋๋ก ๊ตฌํํด ๋ด ๋๋ค.
์ด๋ฒคํธ ์คํ ๋ฐ์ ํตํด ์๋ณ๋ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ์ ๋น๋๊ธฐ ํต์ ๊ด๊ณ๋ฅผ ์ ๋ฆฌํ์ฌ ์ด๋ฒคํธ ํ๋ฆ์ผ๋ก ์ค๊ณํ๊ณ ์นดํ์นด(Kafka)๋ฅผ ํ์ฉํด ๊ตฌํํฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ๋ถ์ฐ ํธ๋์ญ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ํ์ ์ธ MSA ํจํด์ธ SAGA ํจํด์ ์นดํ์นด ์ด๋ฒคํธ ๋ธ๋ก์ปค๋ฅผ ํ์ฉํ์ฌ ๊ตฌํํด ๋ด ๋๋ค.
Q. ๊ฐ์์ ์ด๋ก : ์ค์ต ๋น์จ์ ์ด๋ ์ ๋์ธ๊ฐ์ ?
๋ณธ ๊ฐ์์ ์ด๋ก ์ ์กฐ๊ธ์ด๊ณ ๋๋ถ๋ถ ์ค์ต์ผ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ์ด๋ก ์ ๋จผ์ ํ์ตํ๊ณ ์๊ฐํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ฉฐ ,์ด๋ก ๋ณ๋ก ๋ณ๋์ ๊ด๋ จ ๊ฐ์ข๋ฅผ ์๊ฐํด์ผ ํฉ๋๋ค. ^ ^;;
Q. ์ค๋ฌด ๊ฒฝํ์ด ์๋ ์ทจ์ค์ ๋๋ ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋์?
ํด๋ผ์ฐ๋ ๊ฒฝํ์ด ์๋๋ผ๋ ์ค์ ๋ ๊ฑฐ์ ๊ฒฝํ์ด ์๋ ์ค๊ธ ์์ค์ ๊ฐ๋ฐ์๋ผ๋ฉด ์ ๊ทผํ ์ ์๋ ์์ค์ ๋๋ค. ๊ทธ๋ฌ๋ ์ค๋ฌด ๊ฒฝํ์๋ผ ํ ์ง๋ผ๋ MSA, DDD, ์ํคํ ์ฒ์ ๋ํ ์ดํด๊ฐ ์์ด์ผ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ ๊ฒ๋๋ค.
Q. ์์ ๋ด์ฉ์ ์ด๋ ์์ค๊น์ง ๋ค๋ฃจ๋์?
๋ณธ ๊ฐ์๋ ๊ธฐ ์ ์๋ ์๊ตฌ์ฌํญ์ ๊ทผ๊ฑฐํ ๋ฏธ๋ฆฌ ์ ์ํ ์ํคํ ์ฒ, ์ค๊ณ ๋ชจ๋ธ์ ๊ธฐ์ค์ผ๋ก ๊ตฌํ์ ์ง์คํ๋ ๊ฐ์์ ๋๋ค. ๊ฐ ๋ฐฑ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ , ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ์ด๋ฒคํธ ํต์ ๊น์ง ๊ตฌํํฉ๋๋ค.
Q. ์์ ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์งํ๋๊ณ ์ด๋ป๊ฒ ํ์ตํ๋ ๊ฒ์ด ์ข์๊น์ ?
๊ฐ์์ ๋์ ๋์ฌ ์์คํ ์ ์ค์ฌ์ผ๋ก ๋ฐฑ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํ๋ํ๋ ๊ฐ์ด ๊ตฌํํ๋ ๋ฐฉ์์ ๋๋ค. ์๊ฐ์์ ๊ฐ์ฌ๊ฐ ๊ฐ๋ฐํ๋ ์ฝ๋๋ฅผ ๋ณด๊ณ ํจ๊ป ๊ฐ๋ฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ์์ธ ๊ฒ ๊ฐ๋ค์. ๋ฐ๋ผํ ๋งํผ ์ถฉ๋ถํ ์ฒ์ฒํ ์งํํ๋ต๋๋ค. ^ ^ ;;
๐พ ์๊ฐ ์ ์ฐธ๊ณ ์ฌํญ
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ ๊ด์ฌ ์๋ ๊ฐ๋ฐ์
ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๋ฅผ ์ ์ฉํ๊ณ ์ถ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์
์ํคํ ์ฒ/์ค๊ณ์ ๊ด์ฌ ๋ง์ ์ค๊ธ ์ด์ ๋ฐฑ์๋ ๊ฐ๋ฐ์
์ ์ ์ง์,
ํ์ํ ๊น์?
java
spring
msa
ddd
2,479
๋ช
์๊ฐ์
133
๊ฐ
์๊ฐํ
53
๊ฐ
๋ต๋ณ
4.6
์
๊ฐ์ ํ์
3
๊ฐ
๊ฐ์
ํ ๊ตญ๋ด SI์ ์ฒด ์ํํธ์จ์ด ์์ง๋์ด(SA,AA)
๋ค์์ ๋๊ท๋ชจ ์ฐจ์ธ๋ ํ๋ก์ ํธ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก ๋ฐ ์ค๊ณ๋ฐฉ๋ฒ ๋ฆฌ๋ฉ
๋ช ์ง๋, ์์ธ๊ณผํ๊ธฐ์ ๋ ํด๋ผ์ฐ๋,SW๊ณผ๋ชฉ ๊ฐ์
SK C&C,ํ๊ตญ์ ๋ณด๊ธฐ์ ์ฐ๊ตฌ์(kitri), LG์ ์ MSA๊ณผ์ ๊ฐ์
๋ฉํฐ์บ ํผ์ค, ํ๊ตญํ์คํํ, ํ๊ตญํ์งํํ MSA ๊ณผ์ ๋ฉํ ๋ง,์คํ๋ก์ค์์นด๋ฐ๋ฏธ ์น๊ฐ๋ฐ ๊ณผ์ ๋ฉํ ๋ง
์ ๋ฌธ๋ถ์ผ : ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก , ์ํํธ์จ์ด ์ํคํ ์ฒ/์ค๊ณ/๊ฐ๋ฐ ๊ธฐ๋ฒ
22๋ , ์ํค๋ถ์ค "๋๋ฉ์ธ์ฃผ๋๋ก ์์ํ๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ", ์ ์
๊ตญ๊ฐํ์๊ต์ก์งํฅ์, K-MOOC "Microservice ์ค๊ณ ๋ฐ ๊ตฌํ " ๊ฐ์ข ๊ฐ๋ฐ ๋ฐ ๊ฐ์
์ ์ฒด
42๊ฐ โ (10์๊ฐ 8๋ถ)
ํด๋น ๊ฐ์์์ ์ ๊ณต: