Requests for comment/Publishing the RecentChanges feed

MediaWiki now supports multiple types of recentchanges feeds, including a machine readable JSON feed (JSONRCFeedFormatter). Right now the only feed exposed for Wikimedia sites is the "IRCColourfulRCFeed" via irc.wikimedia.org. There are multiple options on how to broadcast the new feed format, which are discussed below.

= External endpoint = How users connect to get the data

xmpp pub/sub
See http://xmpp.org/protocols/pubsub/
 * Basically what we need
 * ejabberd is scalable and already packaged in debian
 * third-parties can rebroadcast the data in whatever format they want (websockets)

websockets

 * node.js + nginx
 * Need to figure out how to make it scale and hardened
 * http://pusher.com/

IRC

 * Re-use irc.wikimedia.org, and create new channels like #en.wikipedia-json
 * Much easier for people who are already consuming the feed and want to switch

= Internally = How MediaWiki should send the data to the external endpoint

UDP

 * Currently what is used

ZeroMQ
Code is in 105117
 * "ZeroMQ is a high-performance asynchronous messaging library aimed at use in scalable distributed or concurrent applications." (w:ZeroMQ)
 * "Speaking as the person who introduced the current UDP solution: I don't know why you would want to continue using UDP. There's no reason to do that now that TCP queue daemons like zeromq exist. -- Tim Starling (talk) 06:17, 17 July 2013 (UTC)"