# Docker 环境配置 server: port: ${SERVER_PORT:8100} spring: application: name: fund-sys profiles: active: ${SPRING_PROFILES_ACTIVE:docker} # 数据源配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/${MYSQL_DB:fund_platform}?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: ${MYSQL_USER:root} password: ${MYSQL_PASSWORD:root123} hikari: pool-name: FundSysHikariPool minimum-idle: 5 maximum-pool-size: 20 idle-timeout: 30000 max-lifetime: 1800000 connection-timeout: 30000 # Redis 配置 data: redis: host: ${REDIS_HOST:redis} port: ${REDIS_PORT:6379} # Nacos 配置 cloud: nacos: server-addr: ${NACOS_SERVER_ADDR:nacos:8848} username: ${NACOS_USERNAME:nacos} password: ${NACOS_PASSWORD:nacos} discovery: namespace: ${NACOS_NAMESPACE:} group: DEFAULT_GROUP enabled: true # 多租户元数据配置(支持混合模式负载均衡) metadata: tenant-id: ${TENANT_ID:1} tenant-group: ${TENANT_GROUP:} # 服务实例权重(VIP实例可配置更高权重) weight: ${NACOS_WEIGHT:1} # MyBatis Plus 配置 mybatis-plus: mapper-locations: classpath*:/mapper/**/*.xml global-config: db-config: id-type: ASSIGN_ID logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0 # ==================== 多租户混合模式配置 ==================== tenant: routing: # 启用租户感知负载均衡 enabled: true # 默认租户ID default-tenant-id: 1 # 租户服务配置 services: fund-sys: # VIP租户列表(优先路由到专属实例) vip-tenants: - TENANT_VIP_001 - TENANT_VIP_002 # 共享实例回退策略:当无专属实例时回退到共享实例 fallback-to-shared: true fund-cust: vip-tenants: - TENANT_VIP_001 fallback-to-shared: true fund-proj: vip-tenants: - TENANT_VIP_001 fallback-to-shared: true # Actuator 监控端点配置 management: endpoints: web: exposure: include: health,info,metrics,prometheus base-path: /actuator endpoint: health: show-details: always probes: enabled: true health: livenessstate: enabled: true readinessstate: enabled: true metrics: tags: application: ${spring.application.name} # 多租户监控标签 tenant_id: ${TENANT_ID:1} tenant_group: ${TENANT_GROUP:shared} instance_type: ${TENANT_GROUP:shared} distribution: percentiles-histogram: http.server.requests: true percentiles: http.server.requests: 0.5,0.95,0.99 # 日志配置 logging: level: root: INFO com.fundplatform: DEBUG # 多租户负载均衡日志 com.fundplatform.common.loadbalancer: DEBUG com.fundplatform.common.nacos: DEBUG pattern: console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%X{tenantId}] %-5level %logger{36} - %msg%n"