01. MSA & EDA
Last updated
Last updated
์ฅ์
์๊ท๋ชจ ์๋น์ค์์ ๊ฐ๋ฐ, ํ ์คํธ, ์ด์(๋ฐ ๋ชจ๋ํฐ๋ง)์ด ์ฉ์ดํจ.
๋จ์
๋๊ท๋ชจ ์๋น์ค์์ ์กฐ๊ทธ๋งํ ์์ ์๋ ์ ์ฒด ๋น๋๊ฐ ํ์(๋น๋์๊ฐ ์ฆ๊ฐ).
์์ ๊ณผ ๋ฌด๊ดํ ๋ชจ๋์ ์ฌ๋ฐฐํฌ ๋ถ๊ฐํผ, scale-out ๋ถ๋ฆฌ
์ฅ์
๊ฐ ์๋น์ค ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ, ๋ฐฐํฌ, scale-out ๊ฐ๋ฅํจ. CI/CD ๋ฌ์ฑ ๊ฐ๋ฅ.
์๋น์ค๋ณ๋ก ๊ฐ๊ธฐ ๋ค๋ฅธ ์ธ์ด / DB ์ฌ์ฉ ๊ฐ๋ฅ(๊ฐ ์๋น์ค๋ api๋ก ์ถ์ํ)
๋จ์
๊ฐ๋ฐ ๋ณต์ก๋์ ํต์ ์ค๋ฒํค๋ ์ฆ๊ฐ, ํตํฉํ ์คํธ ๋ถ๋ฆฌ, ํธ๋์ญ์ ์ฒ๋ฆฌ
MSA & EDA
Event: ์์คํ ์ ๋ด๋ถ๋ ์ธ๋ถ์์ ์ ๋ฐ๋ ์์คํ ์ํ์ ์ค์ํ ๋ณํ ๋๋ ์๋ฏธ์๋ ์ฌ๊ฑด
cf> IoT ์ผ์, ๋ง์ฐ์ค/ํค๋ณด๋ ์ ์ถ๋ ฅ
Event Driven Architecture: ๋ถ์ฐ ์์คํ ์์ ๋น๋๊ธฐ ํต์ ๋ฐฉ์์ผ๋ก ์ด๋ฒคํธ๋ฅผ ๋ฐํ/๊ตฌ๋ ํ๋ ์ํคํ ์ณ
๋๊ธฐ, ๋น๋๊ธฐ ํต์
๋๊ธฐ ํต์ : (RESTful API๋ฅผ ๋น๋กฏํ) API๋ฅผ ํตํ ์์ฒญ-์๋ต ๋ฐฉ์(peer to peer)
peer๊ฐ ํญ์ ์๋ํด์ผํ๋ค. โ ์๋๊ฒฝ์ฐ, ๋ฉ์์ง ์ ์ค
์๋น์ค๊ฐ ์ปค์ง์๋ก ๋ณต์ก๋๊ฐ ๋์ด๋๋ค.
๋น๋๊ธฐ ํต์ : Event Channel(Message Broker, Kafka)๋ฅผ ํตํ pub/sub ๋ฐฉ์
์ด๋ฒคํธ ์ฑ๋์ ์ฃผ์๋ง ์๊ณ ์์ผ๋ฉด ํต์ ๊ฐ๋ฅ
์ด๋ฒคํธ ์ฑ๋์ ์ค๋ฅ๊ฐ ํฌ๋ฆฌํฐ์ปฌํ๋ค.
EDM = Event Driven Architecture๋ฅผ ์ ์ฉํ MicroService
๋น๋๊ธฐ ํต์ ์ฌ์ฉ - ๊ฐ MicroService๊ฐ ๋์จํ ๊ฒฐํฉ๋(Loosely Coupled) ์ ์ง ๊ฐ๋ฅ
EDM์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ ์ด๋ฒคํธ ์คํ ์ด์ ์ ์ฅ(์ด๋ฒคํธ ๋ก๊ทธ)
Transaction Management: Retry, Rollback