RESTBase - MediaWiki
Jump to content
From mediawiki.org
Translate this page
Languages:
Bahasa Indonesia
polski
português
português do Brasil
русский
українська
ગુજરાતી
中文
閩南語 / Bân-lâm-gí
RESTBase is currently being deprecated. See
RESTBase/deprecation
for details.
RESTBase
is a caching / storing API proxy backing the
Wikimedia REST API
Its configuration is based on
Swagger specs
, and its primary storage backend is using
Cassandra
It powers
rest_v1
, the Wikimedia REST content API used by
VisualEditor
to retrieve page HTML for editing.
For performance (
T95229
) service endpoints are also available on each wiki,
e.g.
on this wiki
As a proxy, RESTBase does not perform any significant content processing itself.
Instead, it requests content transformations from backend services when needed, and typically (depending on configuration) stores it back for later retrieval.
For high-volume static endpoints, most requests will be satisfied directly from storage.
Its storage backends expose a RESTful
storage API
similar to
Amazon DynamoDB
and
Google Datastore
The primary implementation uses Apache Cassandra.
Notable features include automatically maintained secondary indexes and some lightweight transaction support.
SQLite backend
has been developed and is the default backend in the
package
RESTBase automatically emits
statsd
metrics about all storage and backend requests.
This provides a good baseline level of performance and error instrumentation in a micro-service architecture.
Use cases
edit
Our first use case is speeding up VisualEditor by reducing HTML size and eliminating Varnish cache misses.
RESTBase stores
Parsoid
metadata separately from the HTML of the page, which reduces the size of the latter by about 40%.
RESTBase provides only this HTML to VE, which reduces network transfer and processing latency significantly.
In the longer term, we are aiming to bring down the size of the HTML to that of current PHP parser output to make it suitable for regular page views.
This has the potential to make switching to visual editing instantaneous and free of any scrolling.
If parse time is not a pressing concern for your wiki (for example it does not have complex templates or large transclusion counts), then accessing Parsoid directly may make more sense than introducing a dependency on RESTBase.
Another use case we are strongly interested in is providing a section-level editing API for micro-contributions and extremely fast VisualEditor saves, even faster than wikitext.
Documentation
edit
Browse the API endpoints
Overview
Architecture
Browse the documentation
Deployment process
List of current users
Installation
edit
RESTBase/Installation
See also
edit
Wikimedia Foundation projects
HyperSwitch
Group:
Wikimedia Services
Start:
2014-04
Browse the source code
Follow architectural discussions about RESTBase by joining & watching the
RESTBase-architecture project
Report issues on Phabricator
RESTBase/Alternative architectural options considered
RESTBase/Table storage backend options
Original
requests for comments
Storage service
talk
) and
Content API
talk
References
edit
Retrieved from "
Categories
WMF Projects
Cache
MediaWiki APIs
Hidden categories:
WMF Projects 2014q2
WMF Projects 2014q3
WMF Projects 2014q4
WMF Projects 2015q1
WMF Projects 2015q2
WMF Projects 2015q3
WMF Projects 2015q4
WMF Projects 2016q1
WMF Projects 2016q2
WMF Projects 2016q3
WMF Projects 2016q4
WMF Projects 2017q1
WMF Projects 2017q2
WMF Projects 2017q3
WMF Projects 2017q4
WMF Projects 2018q1
WMF Projects 2018q2
WMF Projects 2018q3
WMF Projects 2018q4
WMF Projects 2019q1
WMF Projects 2019q2
WMF Projects 2019q3
WMF Projects 2019q4
WMF Projects 2020q1
WMF Projects 2020q2
WMF Projects 2020q3
WMF Projects 2020q4
WMF Projects 2021q1
WMF Projects 2021q2
WMF Projects 2021q3
WMF Projects 2021q4
WMF Projects 2022q1
WMF Projects 2022q2
WMF Projects 2022q3
WMF Projects 2022q4
WMF Projects 2023q1
WMF Projects 2023q2
WMF Projects 2023q3
WMF Projects 2023q4
WMF Projects 2024q1
WMF Projects 2024q2
WMF Projects 2024q3
WMF Projects 2024q4
WMF Projects 2025q1
WMF Projects 2025q2
WMF Projects 2025q3
WMF Projects 2025q4
WMF Projects 2026q1
WMF Projects 2026q2
RESTBase
Add topic
US