Ideally, the process should be as follows:
- confd watches an etcd tree and creates one or multiple json files containing configuration information, and a version
- Performs some kind of verification on the downloaded file. Maybe a call to a mediawiki script can be used for this.
- it then calls an url on the local machine that will trigger loading the json files to APC
- on every request, mediawiki-config will read that data from APC or, if something is missing, by parsing the json files
- the json will have some version number that will be stored in APC and that can be retrieved and monitored from a special URL, so that we can verify every HHVM server is in sync.
I am sure there are a few details that I am missing, but the overall idea is to play it as safe as possible, while not sacrificing the performance of each request.