๐ฑ ๊ฐ์
์นํ์ ๋ฉ์ธ์๋ฒ์์ ์๋ฆผ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ์๋ฒ๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํด MSA ๋ฐฉ์์ผ๋ก ๊ตฌํํ๊ณ ์ ํ๋ค.
๐ฑ ์ ๊ตณ์ด ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ ๊น?
1. ๋ ๋ฆฝ์ ์ธ ํ์ฅ์ฑ
์๋ฆผ ๊ธฐ๋ฅ์ ์ฌ์ฉ๋์ด ๊ธ๊ฒฉํ๊ฒ ๋์ด๋ ์ ์๋ ๋ถ๋ถ์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ MSA ๋ก ๋ถ๋ฆฌํ๋ฉด ์๋ฆผ ์๋ฒ๋ง ๋ณ๋๋ก ์ค์ผ์ผ ์ /์์ํ ์ ์์ด ์ ์ฐ์ฑ์ด ์ฆ๊ฐํ๋ค.
2. ์ฅ์ ๊ฒฉ๋ฆฌ
์๋ฆผ๊ธฐ๋ฅ์ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๊ฑฐ๋, ์นด์นด์ค ๋ฑ ์ธ๋ถ API ์๋ฆผ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ด ๊ธฐ๋ฅ์์ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ๋ฉ์ธ ์๋ฒ์ ์ํฅ์ ์ฃผ์ง ์์ ์์ ์ฑ์ด ์ฆ๊ฐํ๋ค.
3. ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ ๋ฐ ๊ฐ๋ฐ
์๋ฆผ ์๋ฒ๋ ๋ค๋ฅธ ์ฃผ๊ธฐ๋ก ๋ฐฐํฌํ๊ฑฐ๋, ๋ค๋ฅธ ์ธ์ด๋ ํ๋ ์ ์ํฌ๋ก ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด์ง๋ค.
4. ์ ์ง๋ณด์ ์ฉ์ด์ฑ
๊ด์ฌ์ฌ๊ฐ ๋ช ํํ๊ฒ ๋ถ๋ฆฌ๋์ด ์ง์ค์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ณ ๋ค๋ฅธ ํ์๋ค๊ณผ ํ์ ์์๋ ์์ํ๋ค. ์ฝ๋๋ฒ ์ด์ค๊ฐ ์์์ง๊ณ ์ญํ ์ด ๋ช ํํด์ ธ์ ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์์ง๋ค๊ณ ๋ณผ ์ ์๋ค.
5. ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ฑ๋ฅ ๊ฐ์
Kafka, RabbitMQ, Redis Stream ๊ฐ์ ๋ฉ์ธ์ง ํ์ ์ฐ๊ณํด์ ์๋ฆผ์ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ๋ฉด ๋ฉ์ธ ์๋ฒ๋ ๋น ๋ฅด๊ฒ ์๋ต๋ง ํ๊ณ ์๋ฆผ ์ฒ๋ฆฌ๋ ๋ค์์ ๋ฐ๋ก ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
6. ๋ณด์ ๋ถ๋ฆฌ
๋ง์ฝ ์๋ฆผ์๋ฒ์์ ์ธ๋ถ ์๋น์ค์ ์ฐ๊ฒฐ์ด ๋๊ณ ๋ฉ์ธ ์๋ฒ์ ์ด๋ฅผ ๋ถ๋ฆฌํ๋ค๋ฉด ๋ณด์ ์ค์ ๋ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฉํ ์ ์์ด์ ๋ ์์ ํ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํด์ง๋ค.
๐ฑ ๋ฉ์ธ์ง ํ ๋์ ?
์๋ฆผ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ๊ณ ๋ฉ์ธ์ง ํ๋ฅผ ๋์ ํ๋ ๊ฒ์ด ๊ผญ ํ์ํ ๊น
๊ผญ ํ์ํ ๊ฒ์ ์๋๋ค. ๊ฐ๋จํ ์์คํ ์ด๋ ์ด๊ธฐ ๋จ๊ณ MVP ๋ผ๋ฉด, ๊ทธ๋ฅ REST API ๋ก ์ง์ ์๋ฆผ ๋ก์ง์ ํธ์ถํด๋ ๋๋ค.
ํ์ง๋ง ๊ท๋ชจ๊ฐ ์ปค์ง๊ฑฐ๋, ์ฑ๋ฅ/ํ์ฅ์ฑ/์์ ์ฑ์ด ์ค์ํด์ง์๋ก ๋ฉ์ธ์ง ํ๋ ์ฌ์ค์ ํ์์ ์ด๋ค.
๐ก ๋ฉ์ธ์ง ํ๋ ์ฐ๊ณํ๋ฉด ์ข์ ์
1. ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ก ์ฑ๋ฅ ํฅ์
์๋ฆผ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์๋ ์์ ์ด๋ค.
๋ฉ์ธ์ง ํ๋ฅผ ์ฌ์ฉํด์ ๋ฉ์ธ ์๋ฒ๋ ๋น ๋ฅด๊ฒ ์๋ต๋ง ํ๊ณ , ์๋ฆผ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ฐ๋ก ์ฒ๋ฆฌํ๋๋กํด ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ์ํจ๋ค.
2. ํธ๋ํฝ ํญ์ฃผ ์ ์์ ์ฑ
์๋ฅผ ๋ค๋ฉด 10์ ์ผ๊ด ์๋ฆผ, ๋๋ ๋ง์ ์์ ์๋ฆผ์ ๋ณด๋ด์ผํ๋ ๋ฑ ํน์ ์๊ฐ์ ์๋ฆผ์ด ๋ชฐ๋ฆด ์ ์๋๋ฐ, ๋ฉ์ธ์ง ํ๋ ์๋ฆผ ์์ฒญ์ ํ์ ์์๋๊ณ ์์ฐจ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ์ด ์ฆ๊ฐํ๋ค.
3. ์ฌ์๋, ์คํจ ์ฒ๋ฆฌ
์ธ๋ถ ํธ์ ์๋ฒ๊ฐ ์ผ์์ ์ผ๋ก ๋ค์ด๋์์ ๋, ๋ฉ์ธ์ง ํ๋ ์ฌ์๋ ๋ก์ง๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ์์ ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ๋์์ค๋ค.
4. ์๋ฆผ ์๋ฒ๋ฅผ ์ ์ฐํ๊ฒ ๋ถ๋ฆฌ ๊ฐ๋ฅ
๋ฉ์ธ ์๋ฒ์ ์๋ฆผ ์๋ฒ๋ฅผ ์์ ํ ๋ถ๋ฆฌํ๊ณ ๋ฉ์ธ์ง ํ๋ก๋ง ์ฐ๊ฒฐ์ ์ํค๋ฉด ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ด์์ด ๊ฐ๋ฅํ๋ค.
5. ํ์ฅ์ฑ
Kafka ๋ RabbitMQ ๋ฅผ ํตํด ๋ฉ์ธ์ง๋ฅผ ์ฌ๋ฌ ์ปจ์๋จธ ์ธ์คํด์ค๊ฐ ๋์์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
์ดํ ์๋ฆผ์๋ฒ๋ฅผ ์ฆ์ถํ๋ค๋ฉด ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํด ๋๊ท๋ชจ ํธ๋ํฝ์ ์ ๋ฆฌํ๋ค.