MSA ์ ์ ์ด์
๊ธฐ์กด์ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ณ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ ๋จ์ผ ํ๋ก์ ํธ์ ์กด์ฌํ์ฌ ๋จ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ์๋๊ฐ ๋น ๋ฅด๋ค. ๋ํ ์ค๋ฅ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์์น๋ฅผ ์๋ณํ๊ธฐ ์ฝ๊ณ , ํ ์คํธ ์ํ์ด ์ฝ๋ค. ํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ๊ฐ ํฌ๋ค๋ฉด ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ธ ์ ์๊ณ ์ด ๋ฐฉ์์ ํ์ฅ์ ์ ์ฐํ์ง ์๋ค.
๋ค๋ฅธ ๋ค์ํ ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ํ์ฅํ ๊ณํ์ด ์๊ณ , ํ์ฌ ๊ธฐํ๋จ๊ณ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ๊ฐ ํฐ โ๊ด์ฅโ ์์๋ ๋ณต์กํ ์์คํ ์ค๊ณ ๋ฐ ๊ด๋ฆฌ๊ฐ ํ์ํ๊ณ ๋ค๋ฅธ ์๋น์ค์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์๋ MSA ๊ตฌ์กฐ๋ฅผ ์ฑํํ์๋ค.
| Spring Eureka | QueryDSL |
|---|---|
| ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ Spring Eureka๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ์ ํต์ ์ ์ํด ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ์๋น์ค๊ฐ ๋์ ์ผ๋ก ๋ฑ๋ก๋๊ณ ํด์ง๋ ์ ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ Eureka ์๋ฒ๋ฅผ ํตํด ์๋น์ค์ ์์น๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ฑ Spring Eureka๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ง์ํ์ฌ ์ฌ๋ฌ ์ธ์คํด์ค ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์์ฒญ์ ๋ถ์ฐ์ํฌ ์ ์์ต๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ํฅ์์ํค๋ฏ๋ก Spring Eureka๋ก ์ ์ ํ์์ต๋๋ค. |
ํ์
์์ ์ฑ QueryDSL์ ์ปดํ์ผ ์์ ์ ํ์ ๊ฒ์ฌ๋ฅผ ์ํํ๋ฏ๋ก ๋ฐํ์ ์์ ์ ๋ฐ์ํ ์ ์๋ SQL ์ฟผ๋ฆฌ ๊ด๋ จ ์ค๋ฅ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํฉ๋๋ค. ์ด๋ ์ฝ๋์ ์์ ์ฑ์ ํฅ์์ํค๊ณ ๋ฒ๊ทธ๋ฅผ ์ค์ฌ์ค๋๋ค. ๋์ ์ฟผ๋ฆฌ ์์ฑ QueryDSL์ ๋์ ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ ๋ฅ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ์ ๋ ฅ ๋๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฟผ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ์กฐ์ํ ์ ์๊ธฐ์ QueryDSL๋ก ์ ์ ํ์์ต๋๋ค. |
| Docker | ElastiCache |
|---|---|
| ์ผ๊ด์ฑ ์ปจํ ์ด๋๋ ํ๊ฒฝ์ ํจํค์งํํ๋ฏ๋ก ๊ฐ๋ฐ, ํ ์คํธ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ ์ฌ์ด์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค. ๋์ผํ ์ปจํ ์ด๋๋ฅผ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์คํํ๊ณ ํ๋ก๋์ ์๋ฒ์์ ์คํํ ๋ ์์๋๋ก ๋์ํฉ๋๋ค. ์ ์ธ์ ๊ตฌ์ฑ Docker Compose์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์ ์ ์ธ์ ์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๊ฒฝ ๋ณ์, ๋คํธ์ํน, ๋ณผ๋ฅจ ๋ง์ดํธ ๋ฑ์ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ด Docker๋ฅผ ์ ์ ํ์์ต๋๋ค. |
๋น ๋ฅธ ์ฑ๋ฅ ์ฒ๋ฆฌ๋์ด ๋ง๊ณ ์ง์ฐ ์๊ฐ์ด ์งง์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์คํ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ๊ฐํ๋ก ๋น ๋ฅธ ์๋ต ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ์ฐํ ๋ฐ์ดํฐ ๋ง๋ฃ ๊ด๋ฆฌ ๊ฐ ํค์ ๋ํด ๋ง๋ฃ ์๊ฐ์ ์ค์ ํ ์ ์์ด, Refresh Token์ ์ ํจ ๊ธฐ๊ฐ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํฉ๋๋ค. ๋ฐ๋ผ์ ElastiCache๋ก Refresh Token์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํด๋น ๊ธฐ์ ์ ์ ์ ํ์์ต๋๋ค. |
- ์ปดํฌ๋ํธ, ํ์ , ์ธํฐํ์ด์ค, ์์ฑ์, ํด๋์ค : PascalCase
- ๋ฉ์๋ & ํ๋ผ๋ฏธํฐ & ๋ณ์ : camelCase
- ์์ : SNAKE_CASE
| commit๋ช | commit ๊ท์น |
|---|---|
| feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
| fix | ๋ฒ๊ทธ ์์ ํน์ ๊ธฐ๋ฅ ์์ |
| design | css ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ์ถ๊ฐ ๋ฐ ์์ |
| docs | ๋ฌธ์ ์ถ๊ฐ ๋ฐ ์์ |
| test | ํ ์คํธ์ฝ๋, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ ๋ |
| style | ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์์ด ์ถ๊ฐ ๋ฐ ์์ |
| refactor | ์ฝ๋ ๋ฆฌํํ ๋ง |
| build | ๋น๋ ๊ด๋ จ ํ์ผ ์ถ๊ฐ ๋ฐ ์์ |
| rename | ํ์ผ ํน์ ํด๋๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง ์ํ |
| remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํ |
| chore | ๊ทธ ์ธ ์์ํ ์์ |
- commit message example
- feat : ์์ ๋ด์ฉ
- fix : ์์ ๋ด์ฉ
- chore : โฆ
- ์ปค๋ฐ์ ํ์ผ ๋จ์๋ก ์์ ํ ๋ด์ฉ ์ชผ๊ฐ์ ํ๊ธฐ
- ์ปค๋ฐ๋ฉ์์ง๋ ์์ด๋ก ์์ฑ
- ํ์
[Header]/[์ด์ ๋ฒํธ]/[์ด์ ์์ ๋ด์ฉ ์์ฝ]- ex)
feat/#2/login
- ex)
| Header | ๊ธฐ๋ฅ |
|---|---|
| main | ์ต์ข ๋ฐฐํฌํ ์๋น์ค ๋ด์ฉ์ ๋ธ๋์น |
| develop | ์ฃผ์ ๊ฐ๋ฐ ๋ธ๋์น, ์ด ๋ธ๋์น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์์ ํ ๊ธฐ๋ฅ์ merge |
| feat | ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ธ๋์น, ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ ์ develop ๋ธ๋์น์ merge |
| fix | ๊ธฐ๋ฅ ์์ ๋ธ๋์น, ์ด๋ฏธ develop ๋ธ๋์น์ merge๋ ๊ธฐ๋ฅ์ ์์ ํ๊ณ ์๋ฃ ์ develop ๋ธ๋์น์ merge |
| hotfix | master ๋ธ๋์น๋ก ๋ฐฐํฌ ํ์ ๋ฒ๊ทธ๊ฐ ์๊ฒผ์ ๋ ๊ธด๊ธ ์์ ํ๋ ๋ธ๋์น |
-
์ด์ ์ ๋ชฉ - feat : mainPage ์์
-
๋ง์ผ์คํค ์ ์ฉ
-
ํ ํ๋ฆฟ ์ด์ฉ
## ๐์ด์ ์ค๋ช ## ๐๏ธํฌ๋๋ฆฌ์คํธ - [ ] - [ ] ## ๐ฃ์ฐธ๊ณ ์ฌํญ
-
pr ์ ๋ชฉ - feat : mainPage ์์ (์ด์์ ๋ชฉ๊ณผ ๋์ผํ๊ฒ)
-
ํ ํ๋ฆฟ ์ด์ฉ
### ๐ Description ์ด์ ๋ฒํธ : #๋ฒํธ ### ๐ฝ ์์ ๋ด์ฉ - 1 - 2 ### ๐ผ ๊ฒฐ๊ณผ (์ฌ์ง ๋ฐ ์์ ๊ฒฐ๊ณผ)
DDD ํจํด
โโโ api-gateway
โโโ service1
โ โโโ src
โ โ โโโ main
โ โ โ โโโ java.com.gwangjang.backend
โ โ โ โ โโโ domain
โ โ โ โ โ โโโ service1
โ โ โ โ โ โโโ application
โ โ โ โ โ โ โโโ dto
โ โ โ โ โ โ โโโ mapper
โ โ โ โ โ โ โโโ service
โ โ โ โ โ โโโ domain
โ โ โ โ โ โ โโโ entity
โ โ โ โ โ โ โโโ repository
โ โ โ โ โ โ โโโ service
โ โ โ โ โ โโโ exception
โ โ โ โ โ โ โโโ exception
โ โ โ โ โ โโโ presentation
โ โ โ โ โ โโโ controller
โ โ โ โ โ โโโ mapper
โ โ โ โ โ โโโ service
โ โ โ โ โโโ global
โ โ โ โ โโโ BackendApplication
โ โ โ โโโ resources
โ โ โโโ test
โ โโโ build.gradle
โ โโโ Dockerfile
โ โโโ settings.gradle
โ โโโ gradlew
โ โโโ gradlew.bat
โโโโ service2
โโโโ service3
โโโโ service4

