01TasteGeo
GeoServer 호환성을,
Rust로 다시 세웁니다.
GeoServer 호환성을 Rust로 다시 세웁니다.
기존 OGC 요청과 운영 동작을 기준 서버와 비교하며 구현하는 Rust-native 공간정보 서버.
01통제 가능한 교체를 위한 호환 서버.
TasteGeo는 팀이 의존하는 공개 동작을 다시 구현하고 runtime, 저장소, 검증 경계를 명확하게 분리합니다.
동작 우선 OGC
WMS, WFS, WMTS, WCS와 REST 계약을 공개 HTTP 경계에서 비교합니다.
요청, 응답, 오류Rust-native runtime
메모리 안전한 네이티브 runtime으로 JVM 의존성 없는 예측 가능한 배포를 지향합니다.
Rust 2024, Axum, Tokio격리된 데이터 어댑터
프로토콜 코드는 PostGIS, GeoPackage, Shapefile, GeoTIFF 구현에 직접 결합하지 않습니다.
버전이 있는 capability 경계증거 기반 마이그레이션
읽기 전용 분석, 의미 차이, shadow traffic과 rollback gate로 단계적 전환을 지원합니다.
전환 전에 비교크로스 플랫폼
Linux, Windows와 macOS에서 같은 설정 계약과 운영 절차를 지향합니다.
하나의 server model10개 언어 웹 경험
한국어와 영어를 포함한 10개 언어로 제품, 검증, 문서와 커뮤니티 경로를 제공합니다.
Locale-aware UI와 metadata프로토콜 + 저장소
하나의 표면.
다양한 계약.
자동 생성 매트릭스의 핵심 계약은 현재 모두 검증 단계의 부분 지원입니다. 지원 완료가 아니라 측정 중인 호환 표면을 보여줍니다.
WMS
지도, feature info, 범례
WFS
feature 조회와 트랜잭션
WMTS
matrix set과 타일 캐시
WCS
coverage subset과 출력
REST
카탈로그와 서비스 설정
PostGIS
주요 벡터 어댑터
GeoPackage
이식 가능한 SQLite 데이터셋
Shapefile
범위가 제한된 벡터 수집
GeoTIFF
래스터와 coverage 저장소
COG
클라우드 최적화 래스터 대상
기존
GeoServer 클라이언트와 동작합니다.
프로토콜, 오류 의미, 카탈로그와 운영 흐름을 보존하는 방향으로 호환성을 검증합니다. 특정 제품과의 완전 호환을 선언하는 목록이 아닙니다.
SERVICE=WMS
REQUEST=GetMap
VERSION=1.3.0
GeoServer 계약은 유지하고 runtime은 신중하게 교체합니다.
GeoServer는 폭넓은 Java 확장 생태계를 갖춘 성숙한 기준입니다. TasteGeo는 검증 중인 독립 Rust 구현이며 완성된 drop-in 대체품을 선언하지 않습니다.
| 평가 항목 | GeoServer | TasteGeo Server |
|---|---|---|
| Runtime | Java 17 또는 21, 패키지 앱 또는 servlet container | 네이티브 Rust 서버 목표, release qualification 진행 중 |
| 언어 안전 모델 | Java managed memory와 JVM garbage collection | Rust ownership과 borrow checking, 기본 경로에서 GC 없음 |
| 운영 자원 모델 | JVM heap, GC와 container tuning 경험이 풍부함 | native binary와 명시적 메모리 수명, 실제 workload 검증 진행 중 |
| 호환성 | 정립된 OGC 및 운영 동작 | 기준 서버와 동일 요청의 의미를 비교 |
| 확장 | 대규모 core, extension, community module 생태계 | 버전이 있는 plugin 경계, 현재 범위는 의도적으로 제한 |
| 데이터 저장소 | 광범위하고 성숙한 vector 및 raster 연동 | 우선순위 어댑터를 단계적으로 구현하고 검증 |
| 마이그레이션 | 기존 운영 설정과 data_dir | 읽기 전용 진단, 별도 변환, shadow traffic, rollback |
| 라이선스 | GPL version 2 or later | GPL-2.0-or-later, 독립 개발 |
GeoServer 기준 문서Runtime Extensions License
TasteGeo의 호환성 철학
클라이언트는 그대로. runtime은 Rust로.
워크스페이스 아키텍처
속도보다 먼저
경계를.
의존 방향을 고정하고 공개 HTTP 동작을 검증합니다. 특정 저장소나 프레임워크가 프로토콜의 의미를 지배하지 않습니다.
기반
프로토콜과 저장소에 종속되지 않는 값, 파서, 좌표계와 관측성 경계.
geometrycrsfilterogc-commonconfigobservability도메인
카탈로그, 보안, 스타일과 버전이 명시된 확장 계약을 한 계층에 둡니다.
catalogsecuritydatastore-apistyleplugin-api어댑터
프로토콜 구현이 특정 저장소를 직접 알지 않도록 데이터 접근을 격리합니다.
store-postgisstore-geopackagestore-shapefilestore-geotiff서비스
렌더링과 캐시 위에 OGC 서비스와 관리 API 실행 계층을 조립합니다.
rendertile-cachewmswfswmtswcsrest-api조립 + 검증
서버는 경계를 조립하고, 검증 도구는 공개 HTTP와 fixture만 비교합니다.
servercompat-tests성능 수치에는 재현 가능한 조건이 필요합니다.
두 서버를 동일한 하드웨어, 데이터셋, 요청 조합, warm-up 정책과 정확성 gate에서 실행한 뒤에만 결과를 공개합니다.
공개 benchmark측정 준비 중
비교 계약
각 실행은 정확한 build, 환경, 데이터셋, 동시성, cache 상태와 의미 비교 결과를 기록합니다. 틀린 응답이 빠른 것은 실패입니다.
검증 증거 확인OGC workload별 응답 지연
지속 가능한 초당 요청 수
첫 응답 byte 도달 시간
동일 부하의 processor 비용
상주 메모리와 증가량
database pool 압력
추정값이나 로컬 전용 측정값은 공개 성능 주장으로 표시하지 않습니다.
선언보다 먼저
증거를.
TasteGeo는 로컬 코드 품질 통과와 외부 release qualification을 분리합니다. 현재 핵심 계약은 검증 단계의 부분 지원이며 최종 승격은 진행 중입니다.
호환성
같은 요청을 기준 서버와 candidate에 보내고 의미를 정규화해 비교합니다.
- XML namespace와 속성 정규화
- feature와 geometry 의미 비교
- 래스터 golden image
- OGC exception parity
캡처된 출력
차이를
눈으로 확인합니다.
fixture의 content type과 binary signature를 확인했습니다. Reference capture는 candidate 출력으로 표시하지 않습니다.

기준 캡처 / image/png / 256 x 256

오리지널 브랜드 아트 / 테스트 증거 아님

기준 캡처 / image/png / 256 x 256

기준 캡처 / image/png / 64 x 32
호환성은
증명하는 것, 선언하는 것이 아닙니다.
TasteGeo는 완료 선언보다 재현 가능한 비교 결과와 운영 증거를 먼저 쌓습니다.




