正在进行发布资格验证

TasteGeo

GeoServer 兼容性,
用 Rust 重构。

用 Rust 重构 GeoServer 兼容性。

通过将现有 OGC 请求和运维行为与参考服务器比较而实现的 Rust 原生地理空间服务器。

GET /ows?service=WMS&request=GetMap
Compatibility-firstRust edition 2024GPL-2.0-or-later
01 / PRODUCT

为可控替换而构建的兼容服务器。

TasteGeo 重建公开行为,并明确分离 runtime、存储与验证边界。

01

行为优先的 OGC

在公开 HTTP 边界比较 WMS、WFS、WMTS、WCS 与 REST 契约。

请求、响应、错误
02

Rust-native runtime

以内存安全的原生 runtime 实现不依赖 JVM 的可预测部署。

Rust 2024, Axum, Tokio
03

隔离的数据适配器

协议代码不直接绑定具体的数据实现。

版本化 capability 边界
04

证据驱动的迁移

采用只读分析、语义差异、shadow traffic 与 rollback gate。

切换前先比较
05

跨平台

面向 Linux、Windows 与 macOS 提供一致的配置契约和运维流程。

统一服务器模型
06

十种语言

产品、验证、文档与社区路径均支持十种语言。

本地化 UI 与 metadata
02

协议 + 存储

一个界面。
多项契约。

生成矩阵中的核心契约目前均处于验证中的部分支持状态。这是经过度量的兼容性界面,并非完成声明。

01

WMS

地图、要素信息和图例

部分支持
02

WFS

要素查询和事务

部分支持
03

WMTS

矩阵集与瓦片缓存

部分支持
04

WCS

覆盖子集与输出

部分支持
05

REST

目录与服务配置

部分支持
06

PostGIS

主要矢量适配器

部分支持
07

GeoPackage

便携式 SQLite 数据集

部分支持
08

Shapefile

受限矢量导入

部分支持
09

GeoTIFF

栅格与覆盖存储

部分支持
10

COG

云优化栅格目标

部分支持
03 / 兼容性界面

适用于现有
GeoServer 客户端。

我们通过保留协议和错误语义、目录及运维流程来验证兼容性。这并不是对任何产品完全兼容的声明。

WMS 请求SERVICE=WMS
REQUEST=GetMap
VERSION=1.3.0
规范化证据语义比较
参考 GeoServer WMTS fixture
WMS 使用方兼容性目标
WFS 使用方兼容性目标
WMTS 客户端兼容性目标
REST 自动化兼容性目标
PostGIS 工作流适配器验证中
现有 data_dir只读分析路径
OGC 工具语义比较目标
地图渲染客户端golden image 目标
04 / JAVA ↔ RUST

保留 GeoServer 契约,谨慎更换 runtime。

GeoServer 是拥有广泛 Java 生态的成熟基准。TasteGeo 是仍在资格验证中的独立 Rust 实现。

评估项GeoServerTasteGeo Server
RuntimeJava 17 或 21,应用或 servlet container原生 Rust 服务器,release qualification 进行中
语言安全模型Java 托管内存与 JVM garbage collectionRust ownership 与 borrow checking,默认路径无 GC
运维资源模型成熟的 JVM、heap、GC 与容器调优经验原生二进制与显式内存生命周期,工作负载验证中
兼容性成熟的 OGC 与运维行为与基准服务器比较相同请求的语义
扩展大型 core、extension 与 community 生态版本化 plugin 边界,目前范围有限
数据存储广泛成熟的 vector 与 raster 集成按优先级逐步验证适配器
迁移现有配置与 data_dir只读诊断、独立转换、shadow traffic、rollback
许可证GPL version 2 or laterGPL-2.0-or-later,独立开发

GeoServer 基准文档Runtime Extensions License

TasteGeo 兼容性理念

保留现有客户端。替换底层运行时。

客户端保持不变,运行时切换到 Rust。

04

工作区架构

边界优先于
速度。

我们固定依赖方向并验证公开 HTTP 行为。任何存储或框架都不能主导协议语义。

01 / 基础

基础

独立于协议和存储的值、解析器、坐标系及可观测性边界。

geometrycrsfilterogc-commonconfigobservability
02 / 领域

领域

目录、安全、样式和版本化扩展契约集中在同一层。

catalogsecuritydatastore-apistyleplugin-api
03 / 适配器

适配器

隔离数据访问,使协议实现不直接依赖特定存储。

store-postgisstore-geopackagestore-shapefilestore-geotiff
04 / 服务

服务

在渲染和缓存层之上组装 OGC 服务与管理 API。

rendertile-cachewmswfswmtswcsrest-api
05 / 组装 + 验证

组装 + 验证

服务器组装边界;验证工具只比较公开 HTTP 和 fixture。

servercompat-tests
06 / PERFORMANCE

性能数据需要可复现的条件。

仅在相同硬件、数据集、负载、warm-up 与正确性 gate 下公布结果。

公开 benchmark测量准备中

比较契约

每次运行记录 build、环境、数据、并发、cache 与语义比较结果。

查看验证证据
01p50 / p95 / p99

各 OGC 工作负载的响应延迟

02吞吐量

可持续的每秒请求数

03TTFB

首个响应字节到达时间

04CPU

相同负载下的处理器成本

05RSS

常驻内存及增长

06连接数

数据库连接池压力

估算值或本地测量不会作为公开性能结论。

05 / 就绪状态

先有证据,
再作声明。

TasteGeo 将本地代码质量门禁与外部发布资格验证分开。核心契约在验证期间仍为部分支持。

当前状态正在进行发布资格验证
查看验证 fixture
01 / 05

兼容性

将同一请求发送到参考服务器和候选实现,规范化后比较语义。

  • 规范化 XML 命名空间和属性
  • 比较要素与几何语义
  • 栅格 golden image
  • OGC 异常一致性
06

捕获的输出

让差异
清晰可见。

我们验证了每个 fixture 的 content type 与二进制签名。参考截图绝不会作为候选实现输出展示。

参考 GeoServer 的 WMTS rain 瓦片 fixture
已验证的参考 fixtureWMTS 瓦片 fixture

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

表现 TasteGeo 地理空间服务核心和地形图层的品牌图片
装饰资源服务地形

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

参考 GeoServer 的 WMTS 栅格 fixture
已验证的参考 fixture栅格输出 fixture

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

参考 GeoServer 的世界地图 WMS GetMap fixture
已验证的参考 fixtureWMS 世界地图 fixture

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

01
兼容性比较 GeoServer 请求与响应行为暂无已发布的验证证据
02
从 GeoServer 迁移使用 Rust 重新实现的独立地理空间服务器
03
文档查看支持的 OGC 服务范围
04
下载与安装获取已验证的软件包和校验和公开版本准备中
05
社区报告可复现的兼容性问题
TASTEGEO 方法

兼容性需要
证据证明, 而非口头声明。

TasteGeo 在宣布完成之前,先积累可复现的比较结果和运维证据。

开发中