RESTBase/de

RESTBase ist ein API-Proxy zum Cachen/Speichern hinter der . Seine Konfiguration basiert auf Swagger specs, das Haupt-Speicher-Backend nutzt Cassandra. Es unterstützt " ", die Wikimedia REST-Inhalts-API, die von Visual Editor für die Bearbeitung von empfangenem Seiten-HTML verwendet wird. Aus Performancegründen sind Service-Endpunkte in jedem Wiki verfügbar, z.B. in diesem Wiki.

Als Proxy führt RESTBase selbst keine signifikanten Inhaltsverarbeitungen aus. Stattdessen beantragt er Inhaltstransformationen von Backend-Diensten, wenn dies nötig ist und speichert sie (abhängig von der Konfiguration) üblicherweise für spätere Abrufe. Bei umfangreichen statischen Endpunkten werden die meisten Abfragen direkt vom Speicher erfüllt.

Seine Speicher-Backends stellen eine REST-Speicher-API bereit, vergleichbar mit Amazon DynamoDB und Google DataStore. Die primäre Implementierung nutzt Apache Cassandra. Zu den erwähnenswerten Funktionen gehören automatisch verwaltete Sekundärindizes und einige einfache Transaktionsunterstützungen. Ein SQLite-Backend wurde entwickelt und stellt in dem Paket das Standard-Backend dar.

RESTBase gibt automatisch Statsd-Werte über alle Speicher- und Backend-Abfragen aus. Dies bietet ein gutes Basisniveau an Performance und Fehlerinstrumenten in einer Mikro-Service-Architektur.

Anwendungsfälle
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.

Dokumentation

 * Browse the API endpoints
 * Übersicht
 * Architektur
 * Browse the documentation
 * Deployment process

Siehe auch

 * Follow architectural discussions about RESTBase by joining & watching the RESTBase-architecture project
 * Report issues on Phabricator, project 'RESTBase'
 * Original requests for comments: and
 * Original requests for comments: and
 * Original requests for comments: and
 * Original requests for comments: and