Merge origin/develop into feature/distribution

- develop 브랜치의 최신 변경사항 병합
- .gradle 캐시 파일 충돌 해결 (삭제)
- ParticipationServiceApplication.run.xml 충돌 해결 (develop 버전 선택)
- make-run-profile.md 충돌 해결 (develop 버전 선택)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
sunmingLee
2025-10-29 10:09:47 +09:00
414 changed files with 32372 additions and 205 deletions
+63
View File
@@ -0,0 +1,63 @@
# Kafka 메시지 확인 스크립트 (Windows PowerShell)
#
# 사용법: .\check-kafka-messages.ps1
$KAFKA_SERVER = "4.230.50.63:9092"
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "📊 Kafka 토픽 메시지 확인" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host ""
# Kafka 설치 확인
$kafkaPath = Read-Host "Kafka 설치 경로를 입력하세요 (예: C:\kafka)"
if (-not (Test-Path "$kafkaPath\bin\windows\kafka-console-consumer.bat")) {
Write-Host "❌ Kafka가 해당 경로에 설치되어 있지 않습니다." -ForegroundColor Red
exit 1
}
Write-Host "✅ Kafka 경로 확인: $kafkaPath" -ForegroundColor Green
Write-Host ""
# 토픽 선택
Write-Host "확인할 토픽을 선택하세요:" -ForegroundColor Yellow
Write-Host " 1. event.created (이벤트 생성)"
Write-Host " 2. participant.registered (참여자 등록)"
Write-Host " 3. distribution.completed (배포 완료)"
Write-Host " 4. 모두 확인"
Write-Host ""
$choice = Read-Host "선택 (1-4)"
$topics = @()
switch ($choice) {
"1" { $topics = @("event.created") }
"2" { $topics = @("participant.registered") }
"3" { $topics = @("distribution.completed") }
"4" { $topics = @("event.created", "participant.registered", "distribution.completed") }
default {
Write-Host "❌ 잘못된 선택입니다." -ForegroundColor Red
exit 1
}
}
# 각 토픽별 메시지 확인
foreach ($topic in $topics) {
Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "📩 토픽: $topic" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
# 최근 5개 메시지만 확인
& "$kafkaPath\bin\windows\kafka-console-consumer.bat" `
--bootstrap-server $KAFKA_SERVER `
--topic $topic `
--from-beginning `
--max-messages 5 `
--timeout-ms 5000 2>&1 | Out-String | Write-Host
Write-Host ""
}
Write-Host "✅ 확인 완료!" -ForegroundColor Green
Executable → Regular
View File
Executable → Regular
View File
+101
View File
@@ -0,0 +1,101 @@
@echo off
REM ============================================
REM Kafka/Redis 통합 테스트 스크립트
REM ============================================
echo ============================================
echo Kafka/Redis 통합 테스트 시작
echo ============================================
echo.
REM 현재 디렉토리 확인
cd /d "%~dp0\.."
echo 현재 디렉토리: %CD%
echo.
REM 로그 디렉토리 확인 및 생성
if not exist "logs" mkdir logs
echo 로그 디렉토리: %CD%\logs
echo.
REM 테스트 타임스탬프
set TEST_TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set TEST_TIMESTAMP=%TEST_TIMESTAMP: =0%
set TEST_LOG=logs\kafka-redis-test_%TEST_TIMESTAMP%.log
echo ============================================
echo 1단계: Kafka 수동 테스트 메시지 전송
echo ============================================
echo.
echo Kafka 메시지 전송 중...
gradlew ai-service:runKafkaManualTest > %TEST_LOG% 2>&1
if %ERRORLEVEL% EQU 0 (
echo ✓ Kafka 메시지 전송 완료
) else (
echo ✗ Kafka 메시지 전송 실패 ^(Error Code: %ERRORLEVEL%^)
echo 로그 파일을 확인하세요: %TEST_LOG%
)
echo.
echo ============================================
echo 2단계: AI 서비스 Consumer 처리 대기
echo ============================================
echo.
echo AI 서비스가 Kafka 메시지를 처리할 때까지 60초 대기...
timeout /t 60 /nobreak > nul
echo ✓ 대기 완료
echo.
echo ============================================
echo 3단계: Job 상태 확인 ^(Redis^)
echo ============================================
echo.
echo Job 상태 조회 중...
curl -s "http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-001/status" >> %TEST_LOG% 2>&1
if %ERRORLEVEL% EQU 0 (
echo ✓ Job 상태 조회 성공
curl -s "http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-001/status"
) else (
echo ✗ Job 상태 조회 실패
)
echo.
echo ============================================
echo 4단계: AI 추천 결과 확인 ^(Redis^)
echo ============================================
echo.
echo AI 추천 결과 조회 중...
curl -s "http://localhost:8083/api/v1/ai-service/internal/recommendations/manual-event-001" >> %TEST_LOG% 2>&1
if %ERRORLEVEL% EQU 0 (
echo ✓ AI 추천 결과 조회 성공
curl -s "http://localhost:8083/api/v1/ai-service/internal/recommendations/manual-event-001"
) else (
echo ✗ AI 추천 결과 조회 실패
)
echo.
echo ============================================
echo 5단계: 모든 테스트 메시지 상태 확인
echo ============================================
echo.
echo [Job 001] 상태 확인:
curl -s "http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-001/status" | findstr "status"
echo.
echo [Job 002] 상태 확인:
curl -s "http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-002/status" | findstr "status"
echo.
echo [Job 003] 상태 확인:
curl -s "http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-003/status" | findstr "status"
echo.
echo ============================================
echo 테스트 완료
echo ============================================
echo.
echo 상세 로그 파일: %TEST_LOG%
echo.
echo 수동 확인 명령어:
echo - Job 상태: curl http://localhost:8083/api/v1/ai-service/internal/jobs/{jobId}/status
echo - AI 추천: curl http://localhost:8083/api/v1/ai-service/internal/recommendations/{eventId}
echo.
pause
+37
View File
@@ -0,0 +1,37 @@
@echo off
REM Kafka 수동 테스트 실행 스크립트 (Windows)
cd /d %~dp0\..
echo ================================================
echo Kafka Manual Test - AI Service
echo ================================================
echo.
echo 이 스크립트는 Kafka에 테스트 메시지를 전송합니다.
echo ai-service가 실행 중이어야 메시지를 처리할 수 있습니다.
echo.
echo Kafka Brokers: 20.249.182.13:9095, 4.217.131.59:9095
echo Topic: ai-event-generation-job
echo.
echo ================================================
echo.
REM 테스트 클래스 실행
.\gradlew ai-service:test --tests "com.kt.ai.test.manual.KafkaManualTest" --info
echo.
echo ================================================
echo 테스트 완료!
echo.
echo 결과 확인:
echo 1. Job 상태 조회:
echo curl http://localhost:8083/api/v1/ai-service/internal/jobs/manual-job-001/status
echo.
echo 2. AI 추천 결과 조회:
echo curl http://localhost:8083/api/v1/ai-service/internal/recommendations/manual-event-001
echo.
echo 3. Redis 키 확인:
echo curl http://localhost:8083/api/v1/ai-service/internal/recommendations/debug/redis-keys
echo ================================================
pause