01TasteGeo
GeoServer 兼容性,
用 Rust 重构。
用 Rust 重构 GeoServer 兼容性。
通过将现有 OGC 请求和运维行为与参考服务器比较而实现的 Rust 原生地理空间服务器。
01为可控替换而构建的兼容服务器。
TasteGeo 重建公开行为,并明确分离 runtime、存储与验证边界。
行为优先的 OGC
在公开 HTTP 边界比较 WMS、WFS、WMTS、WCS 与 REST 契约。
请求、响应、错误Rust-native runtime
以内存安全的原生 runtime 实现不依赖 JVM 的可预测部署。
Rust 2024, Axum, Tokio隔离的数据适配器
协议代码不直接绑定具体的数据实现。
版本化 capability 边界证据驱动的迁移
采用只读分析、语义差异、shadow traffic 与 rollback gate。
切换前先比较跨平台
面向 Linux、Windows 与 macOS 提供一致的配置契约和运维流程。
统一服务器模型十种语言
产品、验证、文档与社区路径均支持十种语言。
本地化 UI 与 metadata协议 + 存储
一个界面。
多项契约。
生成矩阵中的核心契约目前均处于验证中的部分支持状态。这是经过度量的兼容性界面,并非完成声明。
WMS
地图、要素信息和图例
WFS
要素查询和事务
WMTS
矩阵集与瓦片缓存
WCS
覆盖子集与输出
REST
目录与服务配置
PostGIS
主要矢量适配器
GeoPackage
便携式 SQLite 数据集
Shapefile
受限矢量导入
GeoTIFF
栅格与覆盖存储
COG
云优化栅格目标
适用于现有
GeoServer 客户端。
我们通过保留协议和错误语义、目录及运维流程来验证兼容性。这并不是对任何产品完全兼容的声明。
SERVICE=WMS
REQUEST=GetMap
VERSION=1.3.0
保留 GeoServer 契约,谨慎更换 runtime。
GeoServer 是拥有广泛 Java 生态的成熟基准。TasteGeo 是仍在资格验证中的独立 Rust 实现。
| 评估项 | GeoServer | TasteGeo Server |
|---|---|---|
| Runtime | Java 17 或 21,应用或 servlet container | 原生 Rust 服务器,release qualification 进行中 |
| 语言安全模型 | Java 托管内存与 JVM garbage collection | Rust ownership 与 borrow checking,默认路径无 GC |
| 运维资源模型 | 成熟的 JVM、heap、GC 与容器调优经验 | 原生二进制与显式内存生命周期,工作负载验证中 |
| 兼容性 | 成熟的 OGC 与运维行为 | 与基准服务器比较相同请求的语义 |
| 扩展 | 大型 core、extension 与 community 生态 | 版本化 plugin 边界,目前范围有限 |
| 数据存储 | 广泛成熟的 vector 与 raster 集成 | 按优先级逐步验证适配器 |
| 迁移 | 现有配置与 data_dir | 只读诊断、独立转换、shadow traffic、rollback |
| 许可证 | GPL version 2 or later | GPL-2.0-or-later,独立开发 |
GeoServer 基准文档Runtime Extensions License
TasteGeo 兼容性理念
客户端保持不变,运行时切换到 Rust。
工作区架构
边界优先于
速度。
我们固定依赖方向并验证公开 HTTP 行为。任何存储或框架都不能主导协议语义。
基础
独立于协议和存储的值、解析器、坐标系及可观测性边界。
geometrycrsfilterogc-commonconfigobservability领域
目录、安全、样式和版本化扩展契约集中在同一层。
catalogsecuritydatastore-apistyleplugin-api适配器
隔离数据访问,使协议实现不直接依赖特定存储。
store-postgisstore-geopackagestore-shapefilestore-geotiff服务
在渲染和缓存层之上组装 OGC 服务与管理 API。
rendertile-cachewmswfswmtswcsrest-api组装 + 验证
服务器组装边界;验证工具只比较公开 HTTP 和 fixture。
servercompat-tests性能数据需要可复现的条件。
仅在相同硬件、数据集、负载、warm-up 与正确性 gate 下公布结果。
各 OGC 工作负载的响应延迟
可持续的每秒请求数
首个响应字节到达时间
相同负载下的处理器成本
常驻内存及增长
数据库连接池压力
估算值或本地测量不会作为公开性能结论。
兼容性
将同一请求发送到参考服务器和候选实现,规范化后比较语义。
- 规范化 XML 命名空间和属性
- 比较要素与几何语义
- 栅格 golden image
- OGC 异常一致性
捕获的输出
让差异
清晰可见。
我们验证了每个 fixture 的 content type 与二进制签名。参考截图绝不会作为候选实现输出展示。

参考截图 / image/png / 256 x 256

原创品牌艺术图 / 非测试证据

参考截图 / image/png / 256 x 256

参考截图 / image/png / 64 x 32




