Skip to content

feat(waiting/grpc): ReleaseGrpcAdapter 생성 + resilience4j yml 추가 [KAN-297]#42

Closed
lian2945 wants to merge 3 commits into
mainfrom
feat/KAN-297
Closed

feat(waiting/grpc): ReleaseGrpcAdapter 생성 + resilience4j yml 추가 [KAN-297]#42
lian2945 wants to merge 3 commits into
mainfrom
feat/KAN-297

Conversation

@lian2945

@lian2945 lian2945 commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

관련 이슈

KAN-297

변경 사항 요약

  • ReleaseGrpcAdapter 신규 생성 (ReleaseQueryPort 구현)
  • BlockingStub → FutureStub 전환
  • Mono.fromCallable + subscribeOn(Schedulers.boundedElastic()) 패턴 적용 (WebFlux 호환)
  • @CIRCUITBREAKER(name = "releaseService") 추가 (@Timelimiter 미적용 - Mono 비호환)
  • isOnSale / getRemainingQuantity fallback 메서드 추가
  • application-local.yml: resilience4j releaseService CB + timelimiter 추가
  • application-dev.yml, application-prod.yml 신규 생성 (resilience4j 포함)

테스트 체크리스트

  • 로컬 빌드 성공 (./gradlew :services:waiting:compileJava)
  • CircuitBreaker 정상 동작 확인 (릴리즈 서비스 다운 시 fallback 호출)
  • Mono.fromCallable이 boundedElastic 스레드에서 실행되는지 확인

lian2945 and others added 3 commits June 21, 2026 15:10
…293]

- CreatorGrpcAdapter: BlockingStub → FutureStub, withDeadlineAfter 제거
- @Timelimiter(name = "creatorService") 추가
- 반환 타입 CreatorId → CompletableFuture<CreatorId> 전환
- fallback 반환 타입도 CompletableFuture<CreatorId>로 통일
- CreatorIdQueryPort: 반환 타입 CompletableFuture<CreatorId>로 업데이트
- 서비스 레이어: getCreatorId().join() 호출로 변경

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lian2945 lian2945 changed the title feat(waiting/grpc): BlockingStub → FutureStub + @TimeLimiter 전환 [KAN-297] feat(waiting/grpc): ReleaseGrpcAdapter 생성 + resilience4j yml 추가 [KAN-297] Jun 21, 2026
@lian2945 lian2945 closed this Jun 22, 2026
@lian2945 lian2945 deleted the feat/KAN-297 branch June 22, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant