Amazon Aurora
http://www.allthingsdistributed.com/files/p1041-verbitski.pdf
- вместо консенсуса 2/3 они используют 4/6 (3/6 для чтения)
- 10GB сегменты, которые восстанавливать 10 сек (на 10Gbit сетке)
- logs are data - хранят только логи
- дополнительно, асинхронно материализуют страницы БД, которые имеют длинную цепочку изменений в логе
- Восстановление после крэша в Mysql: восстановить последний checkpoint + применить изменения из лога. В Aurora сохранение чекпоинтов идет асинхронно в фоне, на каждой ноде, и восстанавливаться оно будет также, т.е. размазывая по кластеру операции.
Github moved to K8s
https://githubengineering.com/kubernetes-at-github/
- Ruby & Rails
- “New services took days, weeks, or months to deploy depending on their complexity and the SRE team’s availability.”
- Хотели ускорить разработку и выкатку, сделать единую инфраструктуру,
- Решили рискнуть и начать с самой критической части!!!
- Terraform + kops
- Dockerfile для github/github
- Yaml-представление 50+ ресурсов k8s,
- Гибрид haproxy+consul-template для направления трафика от Unicorn pods -> services
- Calico
- негативные тесты -> Падение api сервера приводило к отказу всего сервера (странно!). Они решили переходить на мульти-кластерную модель.
- Иногда под нагрузкой kernel panic + reboot. До сих пор.