Conversation
…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>
…h") 제거 [KAN-289] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n import 제거 [KAN-289] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… 전 계층 제거 [KAN-293] 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>
…[KAN-289] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- OAuth2Provider에 LOCAL 추가 - User 도메인에 passwordHash 필드 및 createEmailBuilder 추가 - SignupWithEmail / LoginWithEmail UseCase 및 Service 구현 - UserGrpcService에 signupWithEmail / loginWithEmail RPC 추가 - BCryptPasswordEncoder 빈 등록 (SecurityConfiguration) - findByEmail 쿼리 및 DuplicateEmailException / InvalidPasswordException 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- POST /auth/signup: BCrypt 해싱 → user 서비스 gRPC → 토큰 발급 - POST /auth/email-login: user 서비스에서 BCrypt 검증 → 토큰 발급 - UserEmailGrpcAdapter: EmailUserPort 구현 (FutureStub + CircuitBreaker + TimeLimiter) - BCryptPasswordEncoder 빈 등록 (SecurityConfiguration) - SignupService / EmailLoginService: 기존 LoginService 토큰 발급 패턴 재사용 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>
- AIMD 계산 기준을 admissionQueue activeCount → waitingQueue 대기 수로 변경 (대기자가 많을수록 batchSize를 늘리는 의도에 맞게 수정) - Redis keyspace notification 기반 PurchaseTokenExpiredListener 추가 purchase_token TTL 만료 시 admissionQueuePort.deactivate() 호출하여 active count가 줄지 않던 버그 수정 - RedisMessageListenerContainer 빈 WaitingConfiguration에 등록 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
관련 이슈
KAN-306
변경 사항
1. AIMD queueDepth 기준 변경 (
AdmissionScheduler)admissionQueuePort.getActiveCount()(입장 후 구매 미완료 유저 수)waitingQueuePort.getQueueSize()(실제 대기열 인원 수)2. purchase_token TTL 만료 시 deactivate 처리 (
PurchaseTokenExpiredListener)KeyExpirationEventMessageListener구현purchase_token:{releaseId}:{userId}키 만료 이벤트 감지 →admissionQueuePort.deactivate()호출3.
RedisMessageListenerContainer빈 등록 (WaitingConfiguration)테스트 체크리스트
waiting:active:{releaseId}카운터가 감소하는지 Redis에서 확인🤖 Generated with Claude Code