MSA(Microservices Architecture) ๊ธฐ๋ฐ์ ๊ตญ๋ด ๋ฌผ๋ฅ ๊ด๋ฆฌ ๋ฐ ๋ฐฐ์ก ์์คํ
์
๋๋ค.
B2B(Business to Business) ํ๊ฒฝ์์ ๋ฌผ๋ฅ์ ๋ฐฐ์ก์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค.
๊ฐ ์ง์ญ์ ํ๋ธ์ผํฐ๋ฅผ ๋๊ณ ์์ผ๋ฉฐ, ๊ฐ ํ๋ธ ์ผํฐ๋ ์ฌ๋ฌ ์
์ฒด์ ๋ฌผ๊ฑด์ ๋ณด๊ดํฉ๋๋ค. ์
์ฒด์ ์ํ์ ํ์์ ๋ฐ๋ผ ํ๋ธ๋ก ์ ๋ฌ๋๋ฉฐ, ๋ฐฐ์ก ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ชฉ์ ์ง ํ๋ธ๋ก ๋ฌผํ์ ์ด๋์์ผ ์ต์ข
๋ฐฐ์ก์ง์ ์ ๋ฌํฉ๋๋ค.
- MSA ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ก ๋ ๋ฆฝ์ ์ธ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ ๊ตฌ์กฐ
- ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ๋ฅผ ๊ณ ๋ คํ Layered Architecture ์ ์ฉ
- ํ์ฅ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๊ณ ๋ คํ ์๋น์ค ๊ฐ ํต์ ๊ตฌ์กฐ
- MSA ๊ธฐ๋ฐ ์์คํ ์ค๊ณ ๋ฐ ๊ตฌํ์ ํตํ ์ค๋ฌด ์ญ๋ ๊ฐํ
- ์๋น์ค ๊ฐ API ์ฐ๋ ๋ฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง
- Gemini API๋ฅผ ํ์ฉํ AI ๊ธฐ๋ฅ ํตํฉ
- ๊ถํ ๊ธฐ๋ฐ ์ ๊ทผ ์ ์ด ์์คํ ๊ตฌํ
- ๋ ผ๋ฆฌ์ ์ญ์ (soft delete) ์ฒ๋ฆฌ๋ฅผ ํตํ ๋ฐ์ดํฐ ๊ด๋ฆฌ
- ํ๋ธ ์์น: ์ ๊ตญ 17๊ฐ ์ง์ญ(์์ธ, ๊ฒฝ๊ธฐ, ๋ถ์ฐ ๋ฑ)์ ํ๋ธ์ผํฐ ์ด์
- ํ๋ธ๊ฐ ์ด๋์ ๋ณด: ํ๋ธ ๊ฐ ๊ฒฝ๋ก ๋งคํ์ผ๋ก ํจ์จ์ ์ธ ๋ฌผ๋ฅ ์ด๋ ์ง์
- ํ๋ธ ๊ฒ์: ์ง์ญ๋ณ ํ๋ธ ๊ฒ์ ๊ธฐ๋ฅ
- ํ๋ธ ๋ฐฐ์ก ๋ด๋น์: ํ๋ธ ๊ฐ ๋ฌผํ ์ด๋ ๋ด๋น (์ ์ฒด ์์คํ ์ 10๋ช )
- ์ ์ฒด ๋ฐฐ์ก ๋ด๋น์: ํ๋ธ์์ ์๋ น ์ ์ฒด๊น์ง ๋ฐฐ์ก ๋ด๋น (ํ๋ธ๋น 10๋ช )
- ๋ด๋น์ ๊ฒ์: ๋ด๋น์ ์ ๋ณด ๊ฒ์ ๊ธฐ๋ฅ
- ์ ์ฒด ์์: ๋ชจ๋ ์ ์ฒด๋ ํน์ ํ๋ธ์ ์์
- ์ ์ฒด ํ์ : ์์ฐ์ ์ฒด์ ์๋ น์ ์ฒด๋ก ๊ตฌ๋ถ
- ์ ์ฒด ๊ฒ์: ์ ์ฒด๋ช , ์ง์ญ์ผ๋ก ๊ฒ์ ๊ธฐ๋ฅ
- ์ํ ์์: ๋ชจ๋ ์ํ์ ํน์ ์ ์ฒด์ ํ๋ธ์ ์์
- ์ํ ๊ฒ์: ์ํ๋ช , ์นดํ ๊ณ ๋ฆฌ๋ก ๊ฒ์ ๊ธฐ๋ฅ
- ์ฌ๊ณ ๊ด๋ฆฌ: ํ๋ธ๋ณ ์ํ ์ฌ๊ณ ๊ด๋ฆฌ
- ์ฃผ๋ฌธ ์์ฑ/์ทจ์: ์ฃผ๋ฌธ ์์ฑ ์ ์ฌ๊ณ ๊ฐ์, ์ทจ์ ์ ์ฌ๊ณ ๋ณต์
- ์ฌ๊ณ ํ์ธ: ํ๋ธ์ ์ฌ๊ณ ์์ ๊ฒฝ์ฐ ์ฃผ๋ฌธ ์คํจ ์ฒ๋ฆฌ
- ์ฃผ๋ฌธ ๋ด์ญ: ์ฃผ๋ฌธ ์ํ ์ถ์ ๋ฐ ์กฐํ
- ๋ฐฐ์ก ๋ฐ์ดํฐ: ์ฃผ๋ฌธ ์์ฑ ์ ๋ฐฐ์ก ๋ฐ ๊ฒฝ๋ก ๊ธฐ๋ก ์๋ ์์ฑ
- ๋ฐฐ์ก ์ถ์ : ํ์ฌ ๋ฐฐ์ก ์ํ ์ค์๊ฐ ์กฐํ
- ๋ฐฐ์ก ๋ด๋น์ ๋ฐฐ์ : ๋ฐฐ์ก ์ ํ์ ๋ฐ๋ฅธ ๋ด๋น์ ์๋ ๋ฐฐ์
- ๊ถํ ๊ด๋ฆฌ: ๋ง์คํฐ ๊ด๋ฆฌ์, ํ๋ธ ๊ด๋ฆฌ์, ๋ฐฐ์ก ๋ด๋น์, ์ ์ฒด ๋ด๋น์ ์ญํ ๊ตฌ๋ถ
- ๊ณ์ ๊ด๋ฆฌ: ์ฌ์ฉ์ ์ ๋ณด ๊ด๋ฆฌ ๋ฐ ๋นํ์ฑํ ์ฒ๋ฆฌ
- ์๋ฒ: Spring Boot 3.x
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: PostgreSQL
- ๋น๋ ํด: Gradle
- API ๊ฒ์ดํธ์จ์ด: Spring Cloud Gateway
- ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ: Spring Cloud Eureka
- ์ถ๊ฐ ์ค์ ํ์ผ: application-prod.yml, application-eureka.yml
์๋น์ค ์คํ ๋ช
๋ น์ด
# ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ ์๋ฒ ์์
java -jar eureka-server-1.0.0.jar --spring.profiles.active=prod
# API ๊ฒ์ดํธ์จ์ด ์์
java -jar api-gateway-1.0.0.jar --spring.profiles.active=prod
# ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค ์์
java -Xms256M -Xmx256M -jar hub-service-1.0.0.jar --spring.profiles.active=prod > hub.log 2>&1 &
java -Xms256M -Xmx256M -jar delivery-service-1.0.0.jar --spring.profiles.active=prod > delivery.log 2>&1 &
java -Xms256M -Xmx256M -jar order-service-1.0.0.jar --spring.profiles.active=prod > order.log 2>&1 &
java -Xms256M -Xmx256M -jar user-service-1.0.0.jar --spring.profiles.active=prod > user.log 2>&1 &














