GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Get MediaWiki
  • Get extensions
  • Tech blog
  • Contribute
  • User help
  • FAQ
  • Technical manual
  • Support desk
  • Communication
  • Developer portal
  • Code statistics
  • Community portal
  • Recent changes

This view

  • Original page
  • New address

GeezerVison is showing www.mediawiki.org — RESTBase - MediaWiki

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. A 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

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

  • Browse the API endpoints
  • Overview
  • Architecture
  • Browse the documentation
  • Deployment process
  • List of current users

Installation

  • RESTBase/Installation

See also

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

Retrieved from "https://www.mediawiki.org/w/index.php?title=RESTBase&oldid=8657139"
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
  • WMF Projects 2026q3
  • WMF Projects 2026q4
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.