문서 탐색
문서 홈

GeoServer에서 이전

Java GeoServer에서 제어 가능하고 되돌릴 수 있게 이전합니다.

수정일
대상 버전
qualification

경계 이해

TasteGeo는 Java 내부 구현이 아니라 외부에서 관찰 가능한 동작의 호환성을 목표로 합니다. Java 클래스, servlet 확장과 GeoServer plugin은 Rust 서버에서 직접 실행되지 않습니다.

  • 설정을 지원되는 TasteGeo schema로 변환합니다.
  • plugin 동작을 검증된 native 기능으로 대체하거나 해당 트래픽을 GeoServer에 유지합니다.
  • HTTP 상태, header, content type과 payload 의미를 비교합니다.

현황 조사

  • OGC 서비스와 버전
  • Workspace, store, layer, style과 보안 규칙
  • Community·상용 plugin
  • Reverse proxy, TLS, 인증과 모니터링
  • 최대 트래픽과 cache 동작

설정·datastore·plugin 대응

  • OGC operation: 실제 사용 버전과 일치하는 compatibility run이 있는 operation만 이전합니다.
  • Datastore: crate 또는 module 이름만으로 지원을 추정하지 않으며 애플리케이션 fixture가 검증될 때까지 GeoServer에 유지합니다.
  • Java·community·상용 plugin: Rust process에서 직접 실행할 수 없으므로 GeoServer route를 유지하거나 별도로 검증된 native 기능으로 대체합니다.
  • Style, 보안 규칙과 custom extension: 명시적인 이전 작업으로 관리하고 검증되지 않은 동작은 현재 미지원으로 표시합니다.

병행 운영

같은 reverse proxy 뒤의 별도 origin에서 TasteGeo를 실행합니다. 읽기 전용 요청을 미러링하고 GeoServer를 기준 시스템으로 유지하며 중복 write를 차단합니다.

트래픽 전환

  • 비교 기간에는 설정 변경을 동결합니다.
  • 애플리케이션별 호환성 suite를 실행합니다.
  • 읽기 트래픽 일부만 전환합니다.
  • 오류율, 지연, cache와 payload 차이를 관찰합니다.
  • 승인 기준이 유지될 때만 비율을 높입니다.

롤백

초기 전환 동안 GeoServer 설정과 데이터를 그대로 유지합니다. 롤백은 데이터 복구가 아니라 reverse proxy route 변경이어야 합니다.

  • 이전 routing 설정을 보존합니다.
  • 오류율 기반 rollback 기준을 정의합니다.
  • GeoServer 트래픽을 복구하기 전에 TasteGeo write 경로를 중지합니다.
  • 실패한 요청 집합을 새 호환성 run으로 기록합니다.

검증 체크리스트

  • 필수 프로토콜의 상태가 기록되어 있습니다.
  • 필수 datastore마다 애플리케이션 fixture가 있습니다.
  • 인증·인가 동작을 비교했습니다.
  • Checksum, signature와 SBOM을 검증했습니다.
  • 운영 트래픽 전에 모니터링과 롤백을 시험했습니다.