feat: iot-gateway 支持 Nacos 配置管理
- 在 application.yaml 中添加 Nacos config import - 在 application-prod.yaml 中添加 Nacos 配置 - 在 docker-compose.core.yml 中注入 Nacos 环境变量 - 支持配置统一管理和动态刷新 - 与其他微服务保持架构一致性
This commit is contained in:
51
.env.example
51
.env.example
@@ -113,6 +113,57 @@ HEALTH_CHECK_TIMEOUT=10s
|
||||
HEALTH_CHECK_RETRIES=3
|
||||
HEALTH_CHECK_START_PERIOD=60s
|
||||
|
||||
# ============ IoT Gateway 特有配置 ============
|
||||
# 注意: iot-gateway 不使用 Nacos,所有配置通过环境变量管理
|
||||
|
||||
# 消息总线类型
|
||||
IOT_MESSAGE_BUS_TYPE=redis
|
||||
|
||||
# 设备 RPC 配置(调用 iot-server 微服务)
|
||||
IOT_RPC_URL=http://127.0.0.1:48091
|
||||
IOT_RPC_CONNECT_TIMEOUT=30s
|
||||
IOT_RPC_READ_TIMEOUT=30s
|
||||
|
||||
# 设备 Token 配置(生产环境必须修改为强密钥,至少32位)
|
||||
IOT_TOKEN_SECRET=viewshIotGatewayTokenSecret123456789
|
||||
IOT_TOKEN_EXPIRATION=7d
|
||||
|
||||
# HTTP 协议配置
|
||||
IOT_HTTP_ENABLED=true
|
||||
IOT_HTTP_PORT=8092
|
||||
|
||||
# MQTT 协议配置
|
||||
IOT_MQTT_ENABLED=true
|
||||
IOT_MQTT_PORT=1883
|
||||
IOT_MQTT_MAX_MESSAGE_SIZE=8192
|
||||
IOT_MQTT_CONNECT_TIMEOUT=60
|
||||
IOT_MQTT_SSL_ENABLED=false
|
||||
|
||||
# TCP 协议配置
|
||||
IOT_TCP_ENABLED=false
|
||||
IOT_TCP_PORT=8091
|
||||
IOT_TCP_KEEPALIVE_TIMEOUT=30000
|
||||
IOT_TCP_MAX_CONNECTIONS=1000
|
||||
IOT_TCP_SSL_ENABLED=false
|
||||
|
||||
# EMQX 协议配置(外部 MQTT Broker)
|
||||
IOT_EMQX_ENABLED=false
|
||||
IOT_EMQX_HTTP_PORT=8090
|
||||
IOT_EMQX_MQTT_HOST=127.0.0.1
|
||||
IOT_EMQX_MQTT_PORT=1883
|
||||
IOT_EMQX_MQTT_USERNAME=admin
|
||||
IOT_EMQX_MQTT_PASSWORD=public
|
||||
IOT_EMQX_MQTT_CLIENT_ID=iot-gateway-mqtt
|
||||
IOT_EMQX_MQTT_SSL=false
|
||||
IOT_EMQX_TRUST_ALL=false
|
||||
IOT_EMQX_WILL_ENABLED=true
|
||||
|
||||
# IoT Gateway 日志配置
|
||||
LOG_LEVEL_IOT_GATEWAY=INFO
|
||||
LOG_LEVEL_EMQX=INFO
|
||||
LOG_LEVEL_HTTP=INFO
|
||||
LOG_LEVEL_MQTT=INFO
|
||||
|
||||
# ============ 资源限制说明 ============
|
||||
# 当前配置预计总内存占用:
|
||||
# - 应用服务: ~4.5GB (Docker 容器)
|
||||
|
||||
@@ -151,10 +151,61 @@ services:
|
||||
environment:
|
||||
JAVA_OPTS: "-Xms${IOT_GATEWAY_JVM_XMS} -Xmx${IOT_GATEWAY_JVM_XMX} ${JVM_COMMON_OPTS}"
|
||||
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE}
|
||||
# Nacos 配置
|
||||
NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT}
|
||||
NACOS_USERNAME: ${NACOS_USERNAME}
|
||||
NACOS_PASSWORD: ${NACOS_PASSWORD}
|
||||
NACOS_NAMESPACE: ${NACOS_NAMESPACE}
|
||||
NACOS_GROUP: DEFAULT_GROUP
|
||||
# Redis 配置
|
||||
REDIS_HOST: ${REDIS_HOST}
|
||||
REDIS_PORT: ${REDIS_PORT}
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
REDIS_DATABASE: ${REDIS_DATABASE}
|
||||
REDIS_TIMEOUT: 30000ms
|
||||
# RocketMQ 配置
|
||||
ROCKETMQ_NAMESRV_ADDR: ${ROCKETMQ_NAMESRV_HOST}:${ROCKETMQ_NAMESRV_PORT}
|
||||
# IoT 消息总线配置
|
||||
IOT_MESSAGE_BUS_TYPE: ${IOT_MESSAGE_BUS_TYPE}
|
||||
# 设备 RPC 配置
|
||||
IOT_RPC_URL: ${IOT_RPC_URL}
|
||||
IOT_RPC_CONNECT_TIMEOUT: ${IOT_RPC_CONNECT_TIMEOUT}
|
||||
IOT_RPC_READ_TIMEOUT: ${IOT_RPC_READ_TIMEOUT}
|
||||
# 设备 Token 配置
|
||||
IOT_TOKEN_SECRET: ${IOT_TOKEN_SECRET}
|
||||
IOT_TOKEN_EXPIRATION: ${IOT_TOKEN_EXPIRATION}
|
||||
# HTTP 协议配置
|
||||
IOT_HTTP_ENABLED: ${IOT_HTTP_ENABLED}
|
||||
IOT_HTTP_PORT: ${IOT_HTTP_PORT}
|
||||
# MQTT 协议配置
|
||||
IOT_MQTT_ENABLED: ${IOT_MQTT_ENABLED}
|
||||
IOT_MQTT_PORT: ${IOT_MQTT_PORT}
|
||||
IOT_MQTT_MAX_MESSAGE_SIZE: ${IOT_MQTT_MAX_MESSAGE_SIZE}
|
||||
IOT_MQTT_CONNECT_TIMEOUT: ${IOT_MQTT_CONNECT_TIMEOUT}
|
||||
IOT_MQTT_SSL_ENABLED: ${IOT_MQTT_SSL_ENABLED}
|
||||
# TCP 协议配置
|
||||
IOT_TCP_ENABLED: ${IOT_TCP_ENABLED}
|
||||
IOT_TCP_PORT: ${IOT_TCP_PORT}
|
||||
IOT_TCP_KEEPALIVE_TIMEOUT: ${IOT_TCP_KEEPALIVE_TIMEOUT}
|
||||
IOT_TCP_MAX_CONNECTIONS: ${IOT_TCP_MAX_CONNECTIONS}
|
||||
IOT_TCP_SSL_ENABLED: ${IOT_TCP_SSL_ENABLED}
|
||||
# EMQX 协议配置
|
||||
IOT_EMQX_ENABLED: ${IOT_EMQX_ENABLED}
|
||||
IOT_EMQX_HTTP_PORT: ${IOT_EMQX_HTTP_PORT}
|
||||
IOT_EMQX_MQTT_HOST: ${IOT_EMQX_MQTT_HOST}
|
||||
IOT_EMQX_MQTT_PORT: ${IOT_EMQX_MQTT_PORT}
|
||||
IOT_EMQX_MQTT_USERNAME: ${IOT_EMQX_MQTT_USERNAME}
|
||||
IOT_EMQX_MQTT_PASSWORD: ${IOT_EMQX_MQTT_PASSWORD}
|
||||
IOT_EMQX_MQTT_CLIENT_ID: ${IOT_EMQX_MQTT_CLIENT_ID}
|
||||
IOT_EMQX_MQTT_SSL: ${IOT_EMQX_MQTT_SSL}
|
||||
IOT_EMQX_TRUST_ALL: ${IOT_EMQX_TRUST_ALL}
|
||||
IOT_EMQX_WILL_ENABLED: ${IOT_EMQX_WILL_ENABLED}
|
||||
# 日志配置
|
||||
LOG_FILE_PATH: /app/logs
|
||||
LOG_LEVEL_IOT_GATEWAY: ${LOG_LEVEL_IOT_GATEWAY}
|
||||
LOG_LEVEL_EMQX: ${LOG_LEVEL_EMQX}
|
||||
LOG_LEVEL_HTTP: ${LOG_LEVEL_HTTP}
|
||||
LOG_LEVEL_MQTT: ${LOG_LEVEL_MQTT}
|
||||
TZ: ${TZ}
|
||||
volumes:
|
||||
- app-logs:/app/logs
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
--- #################### 注册中心 + 配置中心相关配置 ####################
|
||||
|
||||
--- #################### 注册中心 + 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
|
||||
username: ${NACOS_USERNAME:}
|
||||
password: ${NACOS_PASSWORD:}
|
||||
discovery:
|
||||
namespace: ${NACOS_NAMESPACE:}
|
||||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||||
metadata:
|
||||
version: 1.0.0
|
||||
config:
|
||||
namespace: ${NACOS_NAMESPACE:}
|
||||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||||
|
||||
--- #################### 应用配置 ####################
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: iot-gateway-server
|
||||
|
||||
@@ -4,6 +4,11 @@ spring:
|
||||
profiles:
|
||||
active: local # 默认激活本地开发环境
|
||||
|
||||
config:
|
||||
import:
|
||||
- optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置
|
||||
- optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置
|
||||
|
||||
# Redis 配置
|
||||
data:
|
||||
redis:
|
||||
|
||||
Reference in New Issue
Block a user