第3章 快速开始:默认配置与最小化示例

本章目标

  • 掌握 Fast-Follow 模块默认配置文件的完整结构与各字段含义
  • 能够编写一份最小化配置文件并正确启动服务
  • 学会使用 curl / 浏览器验证模块是否正常运行
  • 理解配置加载优先级与常见调试手段

核心原理

Fast-Follow 模块采用分层配置机制:内置默认配置 → 环境变量覆盖 → 用户配置文件覆盖。默认配置定义在 `fast_follow_defaults.yaml` 中,模块启动时首先加载该文件,再读取用户指定的 `config.yaml`(或通过 `--config` 参数指定路径),相同键以用户配置为准。最小化示例只需提供必须的 listen_port、data_dir、log_level 三个字段,其余全部使用默认值。

提示:快速验证阶段建议将 log_level 设为 debug,以便观察模块启动的完整日志栈。

配置步骤

1. 默认配置文件结构

以下为完整默认配置的关键层级(省略注释):

一级键二级键默认值说明
serverlisten_port8080HTTP 监听端口
serverbind_address0.0.0.0绑定地址
servermax_connections1000最大并发连接
storagedata_dir./data持久化数据目录
storagesync_interval5s磁盘同步间隔
logginglog_levelinfo日志级别
logginglog_filestdout日志输出目标
authenabledfalse是否启用身份认证

2. 编写最小化配置文件

在项目根目录创建 config.yaml,内容如下:

server:
  listen_port: 9090

storage:
  data_dir: ./ff_data

logging:
  log_level: debug

关键点:未指定的字段(如 bind_address、max_connections、auth等)会自动继承默认值。

3. 启动命令

启动 Fast-Follow 模块的两种方式:

  • 方式一(推荐):直接指定配置文件路径
./fast_follow --config config.yaml
  • 方式二:使用环境变量覆盖部分字段后再启动(完整配置仍为默认 + 文件)
export FF_LISTEN_PORT=9090
export FF_DATA_DIR=./ff_data
export FF_LOG_LEVEL=debug
./fast_follow

启动后终端应输出类似以下信息:

[INFO] Loading default config from built-in defaults
[INFO] Loading user config from config.yaml
[INFO] Server listening on 0.0.0.0:9090
[DEBUG] Data directory initialized: ./ff_data

4. 验证运行

模块启动后,通过 HTTP 请求验证健康状态接口:

curl -s http://127.0.0.1:9090/health | jq .

预期返回 JSON:

{
  "status": "ok",
  "uptime_seconds": 12,
  "version": "1.2.0"
}

若返回 status: "ok",则证明默认配置 + 最小化示例已正确运行。

常见错误与解决方法

现象可能原因解决方法
启动时报 cannot find config file指定路径不合法或文件不存在使用路径或确认当前工作目录包含 config.yaml
端口占用错误 address already in use指定端口已被其他进程占用更换 listen_port 或关闭占用进程
健康检查返回 403 Forbidden配置中启用了 auth 但未设置正确令牌在配置中设置 auth.enabled: false(默认即 false)
启动后立即退出无日志data_dir 指向的路径无写入权限创建目录或使用系统临时目录(如 ./data)
环境变量未生效变量名前缀不正确或启动时未 exportFast-Follow 的环境变量统一以 FF_ 开头,如 FF_LISTEN_PORT
注意:最小化配置仅用于快速验证功能连通性。生产环境必须显式配置 auth、max_connections、log_file 等参数,并检查 data_dir 的磁盘容量。

验收检查清单

  • ✅ 已阅读默认配置表,理解至少 5 个关键字段
  • ✅ 成功编写 config.yaml 并保存到 Fast-Follow 二进制所在目录
  • ✅ 使用 ./fast_follow --config config.yaml 启动,无错误退出
  • ✅ 从终端日志中看到 Server listening on 0.0.0.0:9090 字样
  • ✅ curl http://127.0.0.1:9090/health 返回 {"status":"ok"}
  • ✅ 了解默认配置与用户配置的合并优先级
默认配置与最小化示例启动流程 内置默认配置 fast_follow_defaults.yaml 用户配置文件 config.yaml(最小化) 配置合并(用户覆盖) 启动 Fast-Follow 服务 健康检查验证 curl /health 关键点 最小化配置只需 server.listen_port + storage.data_dir + logging.log_level; 未指定字段均使用默认值;环境变量 FF_* 具有最高优先级。