Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
e99939a
[ fix ] Redis-AOP/각 사용자의 토큰명을 이용하여 락 이름을 조합할 수 있도록 수정
futuremaker019 Jan 30, 2025
bc147a4
[ fix ] 낙관적 락을 적용하여 분산락으로 제어되지 않는 동시성 상황 보정
futuremaker019 Jan 30, 2025
0d4029c
[ fix ] 테스트 케이스의 DisplayName 등록 및 메서드명 수정
futuremaker019 Jan 31, 2025
cddd7ea
[ feature ] 함수형 분산락 구현 및 테스트 케이스 작성
futuremaker019 Jan 31, 2025
0e2d963
[ feature ] ReservationManager/AOP 분산락과 함수형 기반 분산락을 분리하여 구현함
futuremaker019 Jan 31, 2025
c386cde
[ feature ] ReservationFacade/락이 필요한 부분에 함수형 분산락을 적용한 메서드 생성
futuremaker019 Jan 31, 2025
9930bcc
[ fix ] 빌드 장애처리/bootJar가 생성되야 할 모듈 Root의 build.gradle 에 명시
futuremaker019 Feb 1, 2025
8b45006
[ feature ] 예약 메시지 기능 추가
futuremaker019 Feb 1, 2025
366cbb5
[ feature ] application 모듈 추가로 인한 빌드 구성 변경
futuremaker019 Feb 1, 2025
0ac40aa
[ feature ] 조회 API RateLimit 추가 및 테스트 코드 작성
futuremaker019 Feb 2, 2025
2f2652a
[ fix ] 조회 API RateLimit 제한/테스트 실패로 인한 tryAcquire timeout 조건 추가
futuremaker019 Feb 2, 2025
37e0304
[ infra ] docker-compose/초기화로 인한 docker-compose 추가
futuremaker019 Feb 3, 2025
2f28edc
[ fix ] 조회 API RateLimit 제한/Redis cache를 적용
futuremaker019 Feb 3, 2025
c9eedf7
[ feature ] 5분동안 예약한 스케줄에 다시 예약할 수 없도록 인터셉터 적용
futuremaker019 Feb 3, 2025
ff6e9dc
[ feature ] 조회 API RateLimit 제한/Redisson을 이용한 rate limit 제한
futuremaker019 Feb 4, 2025
eba6523
[ feature ] 예약 interceptor/Redisson을 이용한 rate limiter 제한
futuremaker019 Feb 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ subprojects {
tasks.named('test') {
useJUnitPlatform()
}
}

// test {
// exclude '**/*'
// }

tasks.named("bootJar") {
mainClass = 'com.movie.movieapi.MovieApiApplication'
}
}
3 changes: 3 additions & 0 deletions docker/database/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM mysql:8

ENV TZ=Asia/Seoul
25 changes: 25 additions & 0 deletions docker/docker-compose-database.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
version: "3.8"
services:
redis_local:
container_name: redis_local
build:
dockerfile: Dockerfile
context: ./redis
image: futuremaker019/redis_local
# environment:
# - REDIS_PASSWORD=${REDIS_PASSWORD}
ports:
- "6379:6379"
mysql_local:
container_name: mysql_local
build:
dockerfile: Dockerfile
context: ./database
image: futuremaker019/mysql_local
environment:
- MYSQL_DATABASE=movie
- MYSQL_ROOT_PASSWORD=1234
volumes:
- ./database/config:/etc/mysql/conf.d
ports:
- "3306:3306"
42 changes: 42 additions & 0 deletions docker/docker-compose-prometheus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
version: '3.7'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
restart: always
command:
- --web.enable-remote-write-receiver
- --enable-feature=native-histograms
- --config.file=/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
container_name: grafana
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboard:/dashboard
ports:
- "3000:3000"
restart: always
depends_on:
- prometheus
privileged: true
k6:
image: grafana/k6
container_name: k6
ports:
- "6565:6565"
volumes:
- ./scripts:/scripts
command: run -o experimental-prometheus-rw /scripts/all-schedule-stress.js
environment:
- K6_PROMETHEUS_RW_SERVER_URL=http://localhost:9090/api/v1/write
- K6_PROMETHEUS_RW_TREND_AS_NATIVE_HISTOGRAM=true
extra_hosts:
- "host.docker.internal:host-gateway"
network_mode: host
depends_on:
- prometheus
Loading