๊ณต์ฐ ํฐ์ผ ์๋งค ์๋น์ค
๊ณต์ฐ ํฐ์ผํ ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ์๋น์ค ์ ๋๋ค.
- ํ์ ๊ด๋ฆฌ ์์คํ
- ํธ๋ํฝ ๋ถ์ฐ์ ์ํ ๋๊ธฐ์ด ์์คํ
- ์ฝ์ํธ ์ ๋ณด ๋ฐ ๋ฆฌ๋ทฐ ์ ๊ณต
- ์ค์๊ฐ ํฐ์ผ ์์ฝ ๋ฐ ํ ์ค ๊ฒฐ์
- ๊ฒฐ์ ์๋ฃ, ์์ธ ๋ฐ์ ์ SNS ์๋ฆผ ๊ตฌํ
๊น๊ดํ | ๊น๋์ฐ | ๊น์๋ฏผ | ์ํํธ | ์ด์ฑ์ |
---|---|---|---|---|
kwanse | kimdw0823 | tnals2384 | AnTaeho | kcsc2217 |
๊ณต์ฐ API, ์๋งค,๊ฒฐ์ API | Swagger API, ์๋งค, ๊ฒฐ์ API | ํ์ API, ์ฟ ํฐ API, ๋๊ธฐ์ด API | ๋ญํค๋๋ก์ฐ API, ์ฟ ํฐ API, ๋๊ธฐ์ด API | ์ฟ ํฐ API, Slack API, ๋ฆฌ๋ทฐ API |
- ๋ ์ด์ด๋ ์ํคํ ์ฒ + ๋๋ฉ์ธ ๊ธฐ๋ฐ ํจํค์ง ๊ตฌ์กฐ
- Facade : CommandService + QueryService
EX) User ๋๋ฉ์ธ
book_your_seat
โ
โโโ user
โโโ UserConst.java
โโโ controller
โ โโโ AdminUserController.java
โ โโโ UserController.java
โ โโโ dto
โ โโโ UserCreateRequest.java
โ โโโ UserDetailResponse.java
โ โโโ UserResponse.java
โ โโโ UserUpdateRequest.java
โโโ domain
โ โโโ User.java
โ โโโ UserRole.java
โโโ repository
โ โโโ UserRepository.java
โ โโโ UserRepositoryCustom.java
โ โโโ UserRepositoryImpl.java
โโโ service
โโโ command
โ โโโ UserCommandService.java
โโโ facade
โ โโโ UserFacade.java
โโโ query
โโโ UserQueryService.java
1. ํ์
- Spring Security + SMTP + JWT๋ฅผ ์ด์ฉํ ํ์๊ฐ์ , ๋ก๊ทธ์ธ์ ๊ตฌํ
- Security + Mail + Redis + Jwt ํ์๊ฐ์ , ๋ก๊ทธ์ธ
2. ์ ์ฐฉ์ ์ฟ ํฐ
- ์ฟ ํฐ ์ฌ๊ณ ๋์์ฑ์ ๊ณ ๋ คํ์ฌ ๋ค์ํ ๋ฐฉ์์ Lock ๊ตฌํ ํ, ์ฑ๋ฅํ ์คํธ๋ฅผ ์งํํ์ฌ ์ต์ข ๋น๊ด์ ๋ฝ + Pub/sub ๋ฝ ์ด์ค๋ฝ ๊ตฌํ
- ๋น๊ด์ ๋ฝ, ๋๊ด์ ๋ฝ, Named ๋ฝ (RDB ์ด์ฉ)
- Spin ๋ฝ, Pub/sub ๋ถ์ฐ ๋ฝ (Redis ์ด์ฉ)
- ์ ์ฐฉ์ ์ฟ ํฐ ๋ฝ(Lock) ํ์คํฐ๋ฒ
3. ๊ณต์ฐ ๋ฐ ๋ฆฌ๋ทฐ
- ๊ณต์ฐ ๋ชฉ๋ก๊ณผ ์์ธ ์ ๋ณด ์กฐํ
- ๊ณต์ฐ ๋ฆฌ๋ทฐ ์์ฑ ๋ฐ ๋ฆฌ๋ทฐ ์กฐํ ๊ฐ๋ฅ
- ๊ด์ฌ ๊ณต์ฐ ์ค์ ๊ฐ๋ฅ
- No Offset ๋ฐฉ์์ ๊ณต์ฐ ๋ชฉ๋ก ํ์ด์ง ์ ์ฉ
- ์บ์ฑ์ ํตํ ํจ์จ์ ์ธ ๊ณต์ฐ ๋ชฉ๋ก ๋ฐํ
- ๋ค์ค ์ปฌ๋ผ ์ธ๋ฑ์ค๋ฅผ ํตํ ๋ฆฌ๋ทฐ ๋ชฉ๋ก ์กฐํ ์ฑ๋ฅ ๊ฐ์
4. ๋๊ธฐ์ด
-
ํฐ์ผ ์๋งค ์ ํธ๋ํฝ ๋ถ์ฐ์ ์ํ Redis Zset์ ์ด์ฉํ ๋๊ธฐ์ด ๊ตฌํ
-
์์ ํ ์์กด์ฑ ๋ถ๋ฆฌ๋ก ๋ฉํฐ ์๋ฒ๋ก ๋ถ๋ฆฌ ๊ฐ๋ฅ -> ๋๊ธฐ์ด ์๋ฒ / ๋ฉ์ธ ์๋ฒ๋ก ๋๋์ด ์ด์ํ ์ ์๋๋ก ์ค๊ณ
5. ์ข์ ์ ์ ๋ฐ ์๋งค, ๊ฒฐ์
- ๋๊ธฐ์ด์ ๋ค ๊ธฐ๋ค๋ ค ์งํ์ด์ ๋ค์ด์ค๊ฒ๋๋ฉด, ์ข์ ์ ์ ๋ฐ ์๋งค, ๊ฒฐ์ ๊ฐ๋ฅ
- ์๋งค, ๊ฒฐ์ flow
์ข์ ์ ์ | ๊ฒฐ์ |
---|---|
6. ๋ญํค๋๋ก์ฐ
- ์ด๋ฒคํธ ๊ธฐ๊ฐ ๋ด ํฐ์ผ์ ์๋งคํ ๊ณ ๊ฐ์๊ฒ ๋๋ค ๋ญํค๋๋ก์ฐ ์ฟ ํฐ ์ง๊ธ
- 1๋ฑ -> 5๋ช
- 2๋ฑ -> 10๋ช
- 3๋ฑ -> 15๋ช
- 4๋ฑ -> 20๋ช
- ์ค์ผ์ค๋ฌ๋ฅผ ํตํด ์ถ์ฒจ ํ, ์๋งค์ email๋ก ๋น์ฒจ ์๋ฆผ
ํธ๋ฌ๋ธ ์ํ , ์ผ์ ๊ด๋ฆฌ, ํ๋ก์ ํธ ๋ฌธ์ ๋ฑ์ ์ฌ๊ธฐ 2ํ ๋ ธ์ ์์ ๋ณด์ค ์ ์์ต๋๋ค!