Skip to content

Commit bcf31b8

Browse files
committed
feat: Resilience4j 의존성 추가 및 설정
1 parent efe7e4c commit bcf31b8

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

apps/commerce-api/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ dependencies {
1919
// FeignClient
2020
implementation("org.springframework.cloud:spring-cloud-starter-openfeign")
2121

22+
// Resilience4j
23+
implementation("io.github.resilience4j:resilience4j-spring-boot3")
24+
implementation("org.springframework.boot:spring-boot-starter-aop")
25+
2226
// test-fixtures
2327
testImplementation(testFixtures(project(":modules:jpa")))
2428
testImplementation(testFixtures(project(":modules:redis")))

apps/commerce-api/src/main/resources/application.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,26 @@ springdoc:
2929
swagger-ui:
3030
path: /swagger-ui.html
3131

32+
resilience4j:
33+
retry:
34+
instances:
35+
pgRetry:
36+
max-attempts: 3
37+
wait-duration: 1s
38+
retry-exceptions:
39+
- feign.RetryableException
40+
fail-after-max-attempts: true
41+
42+
circuitbreaker:
43+
instances:
44+
pgCircuit:
45+
sliding-window-size: 5
46+
failure-rate-threshold: 20 # 실패율이 50% 넘으면 Open
47+
wait-duration-in-open-state: 60s # Open 상태 유지 시간
48+
permitted-number-of-calls-in-half-open-state: 2
49+
slow-call-duration-threshold: 2s
50+
slow-call-rate-threshold: 50
51+
3252
---
3353
spring:
3454
config:

0 commit comments

Comments
 (0)