The RFC meeting today covered the multi-datacenter work
(
https://www.mediawiki.org/wiki/Requests_for_comment/Master_%26_slave_dataceā¦).
The basic summary is that there will be one datacenter used for all
POSTs, and that GETs will go to the closest data center.
This means GET should mutate state as little as possible (since
otherwise the far-off GET center will have to write to the main data
center in Virginia), delaying the user. There are special provisions
for avoiding this in the cases where writes are needed.
It's general practice that GET should never mutate state anyway, but
there exceptions to this in MediaWiki (though some, e.g. rollback, will
be fixed as part of this).
For example, when a GET needs to queue a job, it uses EnqueueJob, which
adds the job to a local job queue. It is then copied to the real job
queue without delaying the user.
I know they've already worked with us on how this affects Flow, and the
RFC commits to documenting the new patterns further.
Matt Flaschen