跳转至

存储配置

JAiRouter 使用存储管理器来持久化配置数据和版本控制。本页面详细介绍存储相关的配置选项。

存储类型

JAiRouter 支持多种存储类型,默认使用文件存储。

文件存储 (file)

文件存储是默认的存储方式,将配置数据保存在本地文件系统中。

配置选项

存储配置通过 store 前缀进行配置,可以在 application.yml 或相关配置文件中设置。

基本配置

store:
  type: file        # 存储类型,默认为 file
  path: "config/"   # 存储路径,默认为 config/
  auto-merge: true  # 是否启用自动合并功能,默认为 true

配置说明

配置项默认值说明
store.typefile存储类型,目前仅支持文件存储
store.pathconfig/配置文件存储的目录路径
store.auto-mergetrue是否启用自动合并功能

环境特定配置

不同环境可以有不同的存储配置:

开发环境 (dev)

# application-dev.yml
store:
  path: "config-dev/"
  auto-merge: true

预发布环境 (staging)

# application-staging.yml
store:
  path: "config-staging/"
  auto-merge: true

生产环境 (prod)

# application-prod.yml
store:
  path: "config-prod/"
  auto-merge: true

自动合并配置

自动合并功能用于扫描和处理配置目录中的多版本配置文件。

功能说明

当启用自动合并功能时,系统会定期扫描配置目录中的多版本配置文件,并提供合并功能。

使用示例

# 启用自动合并功能并指定配置目录
store:
  type: file
  path: "/var/lib/jairouter/config/"
  auto-merge: true

注意事项

  1. 确保存储路径具有适当的读写权限
  2. 在生产环境中,建议使用绝对路径以避免路径问题
  3. 配置目录应定期备份以防止数据丢失
  4. 不同环境应使用不同的存储路径以避免配置冲突

故障排除

存储目录不存在

如果配置的存储目录不存在,系统会记录警告日志但不会自动创建目录。请确保目录存在并具有适当的权限。

权限问题

如果遇到权限问题,请检查: - 应用程序运行用户对存储目录的读写权限 - 父目录的执行权限(进入目录的权限)

磁盘空间不足

监控存储目录的磁盘使用情况,确保有足够的空间存储配置数据和版本历史。

自动合并功能未生效

如果自动合并功能未生效,请检查: - store.auto-merge 配置是否设置为 true - 配置目录是否存在且具有读取权限 - 配置文件命名是否符合 model-router-config@<version>.json 格式