Roman Grebennikov

Roman Grebennikov

A personal blog & info page

07 Nov 2016

Fear and loathing in distributed systems [russian]

Если ваше приложение внезапно перестаёт помещаться на один сервер, то надо ставить ещё N серверов рядом, ведь ничего же сложного, разве что-то может пойти не так?

Но встав на шаткую дорожку создания распределенной системы с неокрепшим умом, можно с удивлением обнаружить, что ваш кластер внезапно теряет и портит данные, страдает раздвоением мозга и живёт своей насыщенной жизнью против вашей воли.

Этот доклад попытается прояснить:

  • Какие проблемы встречаются при создании распределенных систем;
  • Как можно налажать и допустить типичные ошибки при проектировании;
  • Матчасть о целостности, CAP-теореме, линеаризации и консенсусе;
  • Как все эти знания применять на практике, и какие бывают инструменты для облегчения нелёгкой жизни разработчика распределенных систем.

В процессе рассуждений и откровений для закрепления материала мы вживую напишем простенькую редисо-подобную распределенную систему на Scala и Akka в 100 строк, а потом достанем Jepsen и весело её разломаем, заставив терять данные.

Link | Video | Slides