본문 바로가기
미디어위키

RESTBase

by 다움위키 2023. 12. 22.

RESTBase위키미디아 REST API를 지원하는 캐싱/저장 API 프록시입니다. 그의 구성은 Swagger 사양을 기반으로 하고, 그의 주요 스토리지 백엔드는 Cassandra를 사용합니다. 그것은, 시각 편집기에서 편집을 위해 페이지 HTML을 검색하기 위해서 사용되는 위키미디아 REST 컨텐츠 API, "rest_v1"을 강화합니다. 성능(T95229)에 대해 서비스 엔드포인트는 각 위키, 예를 들어 이 위키에서 역시 이용할 수 있습니다.

프록시로서, RESTBase는 중요한 컨텐츠 처리 자체를 수행하지 않습니다. 대신에, 필요할 때 백엔드 서비스에서 컨텐츠 변환을 요청하고, 전형적으로 (구성에 따라) 나중에 검색에 대해 그것을 백엔드에 저장합니다. 대용량 정적 엔드 포인트에 대해 대부분의 요청은 스토리지에서 직접 만족될 것입니다.

그의 스토리지 백엔드는 Amazon DynamoDBGoogle DataStore와 유사한 RESTful 스토리지 API를 제공합니다. 주요 구현은 아파치 Cassandra를 사용합니다. 주목할만한 기능으로는 자동으로 유지 관리되는 이차 인덱스와 일부 경량 트랜잭션 지원을 포함합니다. SQLite 백엔드가 개발되어져 왔고 패키지에서 기본 백엔드입니다.

RESTBase는 모든 저장소와 백엔드 요청에 대한 statsd 행렬을 자동으로 내보냅니다. 이는 마이크로-서비스 아키텍처에서 성능 및 오류 계측의 좋은 기본선 단계를 제공합니다.

Use cases

첫 번째 사용 예제는 HTML 크기를 줄이고, Varnish 캐시 실수를 제거함으로써 시각 편집기의 속도를 높이는 것입니다. RESTBase는 페이지의 HTML으로부터 분리하는 Parsoid 메타 데이터를 저장하며, 이것은 전자의 크기를 약 40% 줄입니다. RESTBase는 오직 이 HTML을 VE에 제공하며, 이것은 현저하게 네트워크 전송 및 처리 지연을 줄입니다. 장기적인 관점에서, HTML의 크기를 현재 PHP 파서 출력의 크기로 낮추어 그것을 일반 페이지 보기에 적합하게 만드는 것을 목표로 삼고 있습니다. 이것은 비주얼 편집에서 임의의 스크롤의 즉각적이고 자유롭게 전환되게 만드는 잠재력을 가집니다.

만약 파서 시간이 위키에 대한 중요한 관심사가 아니라면 (예를 들어 복잡한 템플릿이나 큰 전달/삽입 횟수를 가지지 않는다면), 직접 Parsoid에 액세스하는 것이 RESTBase에 의존성을 도입하는 것보다 보다 적합할 수 있습니다.

매우 흥미롭게 생각하는 또 다른 사용의 경우는 마이크로-기여에 대한 섹션-레벨 편집 API와 극단적으로 빠른 시각 편집기 저장, 심지어 위키텍스트보다 더 빠른 기능을 제공하는 것입니다.

Documentation

Installation

See also