mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2026-06-13 13:39:12 +00:00
백엔드 서비스 AKS 배포 및 설정 완료
- Kubernetes 매니페스트 파일 생성 (7개 서비스) * user-service, event-service, ai-service, content-service * participation-service, analytics-service, distribution-service * 공통 리소스: Ingress, ConfigMap, Secret, ImagePullSecret - analytics-service 배포 문제 해결 * Hibernate PostgreSQL dialect 추가 * DB 자격증명 수정 (eventuser/Hi5Jessica!) * analytics_db 데이터베이스 생성 - content-service Probe 경로 수정 * Context path 포함 (/api/v1/content/actuator/health) - distribution-service 신규 배포 * Docker 이미지 빌드 및 ACR 푸시 * K8s 매니페스트 생성 및 배포 * Ingress 경로 추가 (/distribution) - Gradle bootJar 설정 추가 * 5개 서비스에 archiveFileName 설정 - 배포 가이드 문서 추가 * deployment/k8s/deploy-k8s-guide.md * claude/deploy-k8s-back.md * deployment/container/build-image.md 업데이트 배포 완료: 모든 백엔드 서비스(7개) 정상 실행 중 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
bootJar {
|
||||
archiveFileName = 'ai-service.jar'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Kafka Consumer
|
||||
implementation 'org.springframework.kafka:spring-kafka'
|
||||
|
||||
@@ -5,23 +5,23 @@ spring:
|
||||
# Redis Configuration
|
||||
data:
|
||||
redis:
|
||||
host: 20.214.210.71
|
||||
port: 6379
|
||||
password: Hi5Jessica!
|
||||
database: 3
|
||||
timeout: 3000
|
||||
host: ${REDIS_HOST:20.214.210.71}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PASSWORD:Hi5Jessica!}
|
||||
database: ${REDIS_DATABASE:3}
|
||||
timeout: ${REDIS_TIMEOUT:3000}
|
||||
lettuce:
|
||||
pool:
|
||||
max-active: 8
|
||||
max-idle: 8
|
||||
min-idle: 2
|
||||
max-wait: -1ms
|
||||
max-active: ${REDIS_POOL_MAX:8}
|
||||
max-idle: ${REDIS_POOL_IDLE:8}
|
||||
min-idle: ${REDIS_POOL_MIN:2}
|
||||
max-wait: ${REDIS_POOL_WAIT:-1ms}
|
||||
|
||||
# Kafka Consumer Configuration
|
||||
kafka:
|
||||
bootstrap-servers: 4.230.50.63:9092
|
||||
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS:4.230.50.63:9092}
|
||||
consumer:
|
||||
group-id: ai-service-consumers
|
||||
group-id: ${KAFKA_CONSUMER_GROUP:ai-service-consumers}
|
||||
auto-offset-reset: earliest
|
||||
enable-auto-commit: false
|
||||
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
|
||||
@@ -35,7 +35,7 @@ spring:
|
||||
|
||||
# Server Configuration
|
||||
server:
|
||||
port: 8083
|
||||
port: ${SERVER_PORT:8083}
|
||||
servlet:
|
||||
context-path: /
|
||||
encoding:
|
||||
@@ -45,17 +45,17 @@ server:
|
||||
|
||||
# JWT Configuration
|
||||
jwt:
|
||||
secret: kt-event-marketing-secret-key-for-development-only-please-change-in-production
|
||||
access-token-validity: 604800000
|
||||
refresh-token-validity: 86400
|
||||
secret: ${JWT_SECRET:kt-event-marketing-secret-key-for-development-only-please-change-in-production}
|
||||
access-token-validity: ${JWT_ACCESS_TOKEN_VALIDITY:604800000}
|
||||
refresh-token-validity: ${JWT_REFRESH_TOKEN_VALIDITY:86400}
|
||||
|
||||
# CORS Configuration
|
||||
cors:
|
||||
allowed-origins: http://localhost:*
|
||||
allowed-methods: GET,POST,PUT,DELETE,OPTIONS,PATCH
|
||||
allowed-headers: "*"
|
||||
allow-credentials: true
|
||||
max-age: 3600
|
||||
allowed-origins: ${CORS_ALLOWED_ORIGINS:http://localhost:*}
|
||||
allowed-methods: ${CORS_ALLOWED_METHODS:GET,POST,PUT,DELETE,OPTIONS,PATCH}
|
||||
allowed-headers: ${CORS_ALLOWED_HEADERS:*}
|
||||
allow-credentials: ${CORS_ALLOW_CREDENTIALS:true}
|
||||
max-age: ${CORS_MAX_AGE:3600}
|
||||
|
||||
# Actuator Configuration
|
||||
management:
|
||||
@@ -91,39 +91,39 @@ springdoc:
|
||||
# Logging Configuration
|
||||
logging:
|
||||
level:
|
||||
root: INFO
|
||||
com.kt.ai: DEBUG
|
||||
org.springframework.kafka: INFO
|
||||
org.springframework.data.redis: INFO
|
||||
io.github.resilience4j: DEBUG
|
||||
root: ${LOG_LEVEL_ROOT:INFO}
|
||||
com.kt.ai: ${LOG_LEVEL_AI:DEBUG}
|
||||
org.springframework.kafka: ${LOG_LEVEL_KAFKA:INFO}
|
||||
org.springframework.data.redis: ${LOG_LEVEL_REDIS:INFO}
|
||||
io.github.resilience4j: ${LOG_LEVEL_RESILIENCE4J:DEBUG}
|
||||
pattern:
|
||||
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||
file:
|
||||
name: logs/ai-service.log
|
||||
name: ${LOG_FILE_NAME:logs/ai-service.log}
|
||||
logback:
|
||||
rollingpolicy:
|
||||
max-file-size: 10MB
|
||||
max-history: 7
|
||||
total-size-cap: 100MB
|
||||
max-file-size: ${LOG_FILE_MAX_SIZE:10MB}
|
||||
max-history: ${LOG_FILE_MAX_HISTORY:7}
|
||||
total-size-cap: ${LOG_FILE_TOTAL_CAP:100MB}
|
||||
|
||||
# Kafka Topics Configuration
|
||||
kafka:
|
||||
topics:
|
||||
ai-job: ai-event-generation-job
|
||||
ai-job-dlq: ai-event-generation-job-dlq
|
||||
ai-job: ${KAFKA_TOPICS_AI_JOB:ai-event-generation-job}
|
||||
ai-job-dlq: ${KAFKA_TOPICS_AI_JOB_DLQ:ai-event-generation-job-dlq}
|
||||
|
||||
# AI API Configuration (실제 API 사용)
|
||||
ai:
|
||||
provider: CLAUDE
|
||||
provider: ${AI_PROVIDER:CLAUDE}
|
||||
claude:
|
||||
api-url: https://api.anthropic.com/v1/messages
|
||||
api-key: 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
|
||||
anthropic-version: 2023-06-01
|
||||
model: claude-sonnet-4-5-20250929
|
||||
max-tokens: 4096
|
||||
temperature: 0.7
|
||||
timeout: 300000
|
||||
api-url: ${AI_CLAUDE_API_URL:https://api.anthropic.com/v1/messages}
|
||||
api-key: ${AI_CLAUDE_API_KEY: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}
|
||||
anthropic-version: ${AI_CLAUDE_ANTHROPIC_VERSION:2023-06-01}
|
||||
model: ${AI_CLAUDE_MODEL:claude-sonnet-4-5-20250929}
|
||||
max-tokens: ${AI_CLAUDE_MAX_TOKENS:4096}
|
||||
temperature: ${AI_CLAUDE_TEMPERATURE:0.7}
|
||||
timeout: ${AI_CLAUDE_TIMEOUT:300000}
|
||||
|
||||
# Circuit Breaker Configuration
|
||||
resilience4j:
|
||||
@@ -162,7 +162,7 @@ resilience4j:
|
||||
# Redis Cache TTL Configuration (seconds)
|
||||
cache:
|
||||
ttl:
|
||||
recommendation: 86400 # 24 hours
|
||||
job-status: 86400 # 24 hours
|
||||
trend: 3600 # 1 hour
|
||||
fallback: 604800 # 7 days
|
||||
recommendation: ${CACHE_TTL_RECOMMENDATION:86400} # 24 hours
|
||||
job-status: ${CACHE_TTL_JOB_STATUS:86400} # 24 hours
|
||||
trend: ${CACHE_TTL_TREND:3600} # 1 hour
|
||||
fallback: ${CACHE_TTL_FALLBACK:604800} # 7 days
|
||||
|
||||
Reference in New Issue
Block a user