1. nginx+php делаете запасные сервера. Их можно держать включенными, убранными из апстрима и подключаемыми (вручную или автоматически, как захотите) в случае поломки основного сервера. Можно распределить нагрузку на них через балансер или LVS
2. Memcache -- С помощью
https://github.com/twitter/twemproxy настраиваете несколько серверов в связку
3. Mariadb не работал с ней, но наверняка есть репликация. Делатете репликацию и все готовою.