stream.wikimedia.org

From Wikitech
Example client at codepen.io/Krinkle/pen/laucI

stream.wikimedia.org is a service to provide a live data stream of edits on Wikimedia wikis that anyone can tap and use to power editor tools and web apps, create beautiful visualisations, inform research, and extend MediaWiki.

It uses RCStream to subscribe to the RCFeed of Wikimedia's production cluster, and publishes this on the endpoint stream.wikimedia.org/rc. As a web developer, one can tap the stream using JavaScript. As an app developer, one can use a suitable client library for your platform.

Consuming RCStream is a cleaner approach than parsing the change messages from irc.wikimedia.org. Wikimedia Foundation continues to operate both (configured via $wgRCFeeds in wmf-config).

The RCStream server also responds at http://stream.wikimedia.org/rcstream_status with a simple text message; check this if you do not receive any events.

As of January 2015, RCStream implements version 0.9 of the Socket.IO protocol, not 1.0 (phab:T68232). See also socket.io 0.9 and socket.io-client 0.9 on GitHub for more information.

Usage

Clients and alternative access points

Server setup

RCStream runs on a set of backend servers (currently, rcs100x; puppet node; puppet role). Backend nodes: rcs1001, rcs1002.

The backend servers run instances of RCStream, with an nginx reverse proxy on each server.

An LVS load balancer (stream-lb) is situated in front of the backend servers.

The Beta cluster has a simplified setup on a single VM instance running the rcstream role, exposed as http://stream.wmflabs.org.

See also