Files
sodalive-backend-spring-boot/src/main/resources/application.yml
Klaus cfc679611c feat(db): Aurora Serverless v2(0.5~2 ACU) 최적화용 Hikari 풀 설정 추가
- maximumPoolSize=10, minimumIdle=0, idleTimeout=2m, maxLifetime=30m, connectionTimeout=10s, keepalive=0 적용
- 환경변수 미설정 시 안전한 기본값으로 동작하도록 `${DB_POOL_*}` 기본값 제공
- 유휴 시 커넥션 상주 최소화로 다운스케일 유도 및 비용/성능 균형 개선
2026-03-23 13:55:51 +09:00

130 lines
3.3 KiB
YAML

server:
shutdown: graceful
env: ${SERVER_ENV}
forward-headers-strategy: framework
logging:
level:
com:
amazonaws:
util:
EC2MetadataUtils: error
weraser:
apiUrl: ${WERASER_API_URL}
apiKey: ${WERASER_API_KEY}
payverse:
host: ${PAYVERSE_HOST}
inboundIp: ${PAYVERSE_INBOUND_IP}
mid: ${PAYVERSE_MID}
clientKey: ${PAYVERSE_CLIENT_KEY}
secretKey: ${PAYVERSE_SECRET_KEY}
usdMid: ${PAYVERSE_USD_MID}
usdClientKey: ${PAYVERSE_USD_CLIENT_KEY}
usdSecretKey: ${PAYVERSE_USD_SECRET_KEY}
bootpay:
applicationId: ${BOOTPAY_APPLICATION_ID}
privateKey: ${BOOTPAY_PRIVATE_KEY}
hectoApplicationId: ${BOOTPAY_APPLICATION_HECTO_ID}
hectoPrivateKey: ${BOOTPAY_PRIVATE_HECTO_KEY}
apple:
iapVerifyUrl: https://buy.itunes.apple.com/verifyReceipt
iapVerifySandboxUrl: https://sandbox.itunes.apple.com/verifyReceipt
bundleId: ${APPLE_BUNDLE_ID}
line:
channelId: ${LINE_CHANNEL_ID}
agora:
appId: ${AGORA_APP_ID}
appCertificate: ${AGORA_APP_CERTIFICATE}
firebase:
secretKeyPath: ${GOOGLE_APPLICATION_CREDENTIALS}
google:
webClientId: ${GOOGLE_WEB_CLIENT_ID}
cloud:
naver:
papagoClientId: ${NCLOUD_PAPAGO_CLIENT_ID}
papagoClientSecret: ${NCLOUD_PAPAGO_CLIENT_SECRET}
aws:
credentials:
accessKey: ${APP_AWS_ACCESS_KEY}
secretKey: ${APP_AWS_SECRET_KEY}
s3:
contentBucket: ${S3_CONTENT_BUCKET}
bucket: ${S3_BUCKET}
contentCloudFront:
host: ${CONTENT_CLOUD_FRONT_HOST}
privateKeyFilePath: ${CONTENT_CLOUD_FRONT_PRIVATE_KEY_FILE_PATH}
keyPairId: ${CONTENT_CLOUD_FRONT_KEY_PAIR_ID}
cloudFront:
host: ${CLOUD_FRONT_HOST}
sqs:
generateCouponUrl: ${AMAZON_SQS_GENERATE_CAN_COUPON_QUEUE_URL}
region:
static: ap-northeast-2
stack:
auto: false
jwt:
header: Authorization
token-validity-in-seconds: ${JWT_TOKEN_VALIDITY_TIME}
secret: ${JWT_SECRET}
spring:
redis:
host: ${REDIS_HOST}
port: ${REDIS_PORT}
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: ${DB_URL}
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
hikari:
pool-name: SodaliveHikari
maximum-pool-size: ${DB_POOL_MAX:10}
minimum-idle: ${DB_POOL_MIN:0}
idle-timeout: ${DB_POOL_IDLE_TIMEOUT_MS:120000}
max-lifetime: ${DB_POOL_MAX_LIFETIME_MS:1800000}
connection-timeout: ${DB_POOL_CONNECTION_TIMEOUT_MS:10000}
keepalive-time: ${DB_POOL_KEEPALIVE_TIME_MS:0}
jpa:
hibernate:
ddl-auto: validate
database: mysql
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL8Dialect
servlet:
multipart:
max-file-size: 1024MB
max-request-size: 1024MB
cache:
type: redis
---
spring:
config:
activate:
on-profile: local
devtools:
restart:
enabled: true
livereload:
enabled: true
jpa:
properties:
hibernate:
show_sql: true
format_sql: true