跳转到主要内容

示例服务配置

内置 Axum 服务接受的环境变量。

以下变量配置 cargo run --example serve。它们是示例服务约定,不是库的全局配置。

变量默认值含义
ASYNC_GEOTIFF_BIND127.0.0.1:8080HTTP 服务监听地址。
ASYNC_GEOTIFF_BLOCK_CACHE_MB512共享解码块缓存容量(MiB),必须为正数。
ASYNC_GEOTIFF_MAX_DECODE_TASKS可用并行度最大并发解码/拼接 CPU 任务数,必须为正数。
ASYNC_GEOTIFF_MAX_TILE_TASKS可用并行度最大并发重投影/渲染 CPU 任务数,必须为正数。
ASYNC_GEOTIFF_PREFETCH_RING1围绕读取范围预取的原生块圈数;0 为关闭。
ASYNC_GEOTIFF_SLOW_TILE_MS未设置超过此正整数毫秒阈值时发出慢瓦片警告。
ASYNC_GEOTIFF_MOSAIC未设置启动时加载的 MosaicJSON 文件路径。
ASYNC_GEOTIFF_STAC_URL未设置固定 STAC API URL;需要 stac 及后两个变量。
ASYNC_GEOTIFF_STAC_COLLECTION未设置固定 STAC collection ID。
ASYNC_GEOTIFF_STAC_ASSET_KEY未设置固定 STAC COG 资产 key。
ASYNC_GEOTIFF_TOKIO_CONSOLE关闭使用 tokio-console 编译时,以 1trueyeson 启用 Tokio Console。
RUST_LOGasync_geotiff=debug,warn示例服务的标准 tracing 过滤器。

ASYNC_GEOTIFF_MOSAIC 与 STAC 配置互斥;三个 STAC 变量必须一起提供。

解码与瓦片任务变量用于调优单 COG 工作,但不构成一个进程级 CPU 上限:命令行默认 COG 使用独立 limiter;延迟选择的本地数据集共享一个取两者较大值的 limiter;mosaic 拥有自己的 limiter。示例服务没有为 max_assets_per_tileMosaicConfig 字段 提供环境变量。

示例

ASYNC_GEOTIFF_BIND=0.0.0.0:8080 \
ASYNC_GEOTIFF_BLOCK_CACHE_MB=1024 \
ASYNC_GEOTIFF_MAX_DECODE_TASKS=8 \
ASYNC_GEOTIFF_MAX_TILE_TASKS=8 \
ASYNC_GEOTIFF_PREFETCH_RING=0 \
ASYNC_GEOTIFF_SLOW_TILE_MS=500 \
RUST_LOG=async_geotiff=info \
  cargo run --release --example serve -- https://example.com/cog.tif

无效数值会使进程在启动时失败,而不会被静默修正。