feat: 添加所有核心服务的生产环境配置文件
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled

- 创建 application-prod.yaml 支持环境变量占位符
- 支持 Docker Compose 环境变量注入
- 支持 Nacos 配置中心覆盖
- 涵盖 5 个核心服务: gateway, system, infra, iot-server, iot-gateway
This commit is contained in:
lzh
2026-01-13 11:52:27 +08:00
parent ceea293412
commit 2b9c1aa7d8
5 changed files with 584 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
--- #################### 注册中心 + 配置中心相关配置 ####################
spring:
cloud:
nacos:
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} # Nacos 服务器地址,支持环境变量
username: ${NACOS_USERNAME:} # Nacos 账号
password: ${NACOS_PASSWORD:} # Nacos 密码
discovery: # 【服务发现】配置项
namespace: ${NACOS_NAMESPACE:} # 命名空间,生产环境
group: ${NACOS_GROUP:DEFAULT_GROUP} # 使用的 Nacos 配置分组
metadata:
version: 1.0.0 # 服务实例的版本号
config: # 【配置中心】配置项
namespace: ${NACOS_NAMESPACE:} # 命名空间,生产环境
group: ${NACOS_GROUP:DEFAULT_GROUP} # 使用的 Nacos 配置分组
--- #################### 数据库相关配置 ####################
spring:
datasource:
druid: # Druid 【监控】相关的全局配置
web-stat-filter:
enabled: true
stat-view-servlet:
enabled: true
allow: # 设置白名单,不填则允许所有访问
url-pattern: /druid/*
login-username: ${DRUID_USERNAME:admin}
login-password: ${DRUID_PASSWORD:admin}
filter:
stat:
enabled: true
log-slow-sql: true # 慢 SQL 记录
slow-sql-millis: 100
merge-sql: true
wall:
config:
multi-statement-allow: true
dynamic: # 多数据源配置
druid: # Druid 【连接池】相关的全局配置
initial-size: 5
min-idle: 10
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 600000
max-evictable-idle-time-millis: 1800000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
primary: master
datasource:
master:
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:aiot_platform}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: ${MYSQL_USER:root}
password: ${MYSQL_PASSWORD:}
slave: # 从库配置(可选)
lazy: true
url: jdbc:mysql://${MYSQL_SLAVE_HOST:${MYSQL_HOST:127.0.0.1}}:${MYSQL_SLAVE_PORT:${MYSQL_PORT:3306}}/${MYSQL_DATABASE:aiot_platform}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: ${MYSQL_SLAVE_USER:${MYSQL_USER:root}}
password: ${MYSQL_SLAVE_PASSWORD:${MYSQL_PASSWORD:}}
# Redis 配置
data:
redis:
host: ${REDIS_HOST:127.0.0.1}
port: ${REDIS_PORT:6379}
database: ${REDIS_DATABASE:0}
password: ${REDIS_PASSWORD:}
timeout: 5000ms
lettuce:
pool:
max-active: 8
max-wait: -1ms
max-idle: 8
min-idle: 0
--- #################### MQ 消息队列相关配置 ####################
# rocketmq 配置项
rocketmq:
name-server: ${ROCKETMQ_NAMESRV_ADDR:127.0.0.1:9876}
spring:
# RabbitMQ 配置项(可选)
rabbitmq:
host: ${RABBITMQ_HOST:127.0.0.1}
port: ${RABBITMQ_PORT:5672}
username: ${RABBITMQ_USERNAME:guest}
password: ${RABBITMQ_PASSWORD:guest}
# Kafka 配置项(可选)
kafka:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS:127.0.0.1:9092}
--- #################### 定时任务相关配置 ####################
xxl:
job:
admin:
addresses: ${XXL_JOB_ADMIN_ADDRESSES:http://127.0.0.1:9090/xxl-job-admin}
--- #################### 服务保障相关配置 ####################
# Lock4j 配置项
lock4j:
acquire-timeout: 3000
expire: 30000
--- #################### 监控相关配置 ####################
# Actuator 监控端点的配置项
management:
endpoints:
web:
base-path: /actuator
exposure:
include: '*'
# Spring Boot Admin 配置项
spring:
boot:
admin:
client:
instance:
service-host-type: IP
username: ${SPRING_BOOT_ADMIN_USERNAME:admin}
password: ${SPRING_BOOT_ADMIN_PASSWORD:admin}
# 日志文件配置
logging:
level:
root: INFO
com.viewsh: ${LOG_LEVEL:INFO}
file:
name: ${LOG_FILE_PATH:/app/logs}/${spring.application.name}.log
--- #################### 芋道相关配置 ####################
viewsh:
demo: false # 生产环境关闭演示模式
env:
tag: ${HOSTNAME:prod}
captcha:
enable: true # 生产环境开启验证码
security:
mock-enable: false # 生产环境关闭 mock