正在進行發佈資格驗證

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 在宣告完成之前,先累積可重現的比較結果與營運證據。

開發中