CMC MakeUS 11TH ๋ก์๋ง์๋ฐฉ๋ฒ๋ Project
๋ฉ๋ฆฌ MELLY - ์ฅ์ ๊ธฐ๋ฐ ์ถ์ต
๊ธฐ๋ก์ฅ
๋ค์ด๋ก๋ (ํ์ฌ ์๋ฒ ๋ฆฌํฉํ ๋ง ์ค์
๋๋ค)
ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ๋ฉํฐ ๋ชจ๋ ๊ธฐ๋ฐ์ผ๋ก ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ฐ์ ๊ธฐ๋ฅ์ ํฌํจ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ๊ฐ์ ์์ง์ฑ์ ๋์ด๊ณ ๋ชจ๋๋ณ๋ก ๋ ๋ฆฝ์ ์ธ ํ์ฅ์ ํด๋๊ฐ ์ ์์ต๋๋ค.
โโโ client:client-auth # OAuth ๋ฆฌ์์ค ์๋ฒ์ ํต์ ํ๋ Client ๋ชจ๋ (ํ์ฌ OpenFeign ์์กด์ฑ ์ฌ์ฉ)
โโโ core:core-api # ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ์ ํต์ ํ๋ API ๋ชจ๋
โโโ storage:db-core # MySQL ๊ธฐ๋ฐ์ ์ ์ฅ์ ๋ชจ๋
โโโ storage:db-redis # Redis ๊ธฐ๋ฐ์ ์ธ๋ฉ๋ชจ๋ฆฌ ์ ์ฅ์ ๋ชจ๋
โโโ infra:file # ํ์ผ ์ ์ฅ์ ๋ชจ๋ (ํ์ฌ S3 ์์กด์ฑ ์ฌ์ฉ)
โโโ infra:mail # ๋ฉ์ผ ์๋น์ค ๋ชจ๋ (ํ์ฌ Java Mail ์์กด์ฑ ์ฌ์ฉ)
โโโ infra:notification # ์๋ฆผ ์๋น์ค ๋ชจ๋ (ํ์ฌ FCM ์์กด์ฑ ์ฌ์ฉ)
โโโ support:logging # ๋ก๊น
๋ชจ๋
- ๋์ฉ๋ ํธ๋ํฝ ์ํฉ์ ๊ฐ์ ํ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์ฑ๋ฅ ๊ฐ์
- Cursor ๊ธฐ๋ฐ ํ์ด์ง์ ํตํ ์กฐํ ์ฑ๋ฅ ์ต์ ํ
- Spring Cache ์ ์ฉ์ผ๋ก ์ฝ๊ธฐ ์์ ์ฑ๋ฅ ํฅ์
- Token ์ ์ฅ์ฉ Redis์ ์บ์ฑ์ฉ Redis ๋ถ๋ฆฌ๋ฅผ ํตํ ๊ฐ์ฉ์ฑ ํ๋ณด
- Redis ๋ถ์ฐ ์บ์์ Circuit Breaker ์ ์ฉ์ ํตํด Redis ์๋ฒ ๋ค์ด ์ DB ์ง์ ์กฐํ๋ฅผ ํตํ ๊ฐ์ฉ์ฑ ํ๋ณด
- Redis LRU Eviction ์ ์ฑ ๊ณผ ์๋ฒ ์ธ์คํด์ค ์คํ์ ์ ํฉํ max-memory ์ต์ ์ ์ ์ฉํ์ฌ ํจ์จ์ ์ธ ์บ์ ์ค์
- ๋ถํ ๋ถ์ฐ์ ์ํ MySQL Replication ๊ตฌ์ฑ ๋ฐ ์ฟผ๋ฆฌ ์์ฒญ ๋ถ๊ธฐ
- ๋ถ์ฐ๋ฝ์ ์ฌ์ฉํ ๋์์ฑ ์ ์ด
- AOP๋ฅผ ์ ์ฉํ์ฌ ๋ถ๊ฐ ๋ก์ง ์ ๊ฑฐ
- ๋ฉํฐ ๋ชจ๋ ๊ตฌ์ฑ๋ฅผ ํตํ ์์กด์ฑ ๊ฒฉ๋ฆฌ
- ๊ฐ์ฒด์งํฅ์์น SOLID๋ฅผ ๊ณ ๋ คํ ์ฝ๋ ์ค๊ณ
- Spring Context Caching์ ํตํ ํตํฉ ํ ์คํธ ์๊ฐ ์ต์ ํ
- Test Fixture๋ฅผ ์ฌ์ฉํ ํ ์คํธ ์ฝ๋ ๊ฐ๋ ์ฑ ํฅ์