JPoint в соцсетях

 

JUG.ru в соцсетях

Страх и ненависть в распределённых системах

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

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

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

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

Роман Гребенников, Findify

Разработчик распределенных систем в компании Sociohub/DSR. Прошел тернистый путь от дизайнера-неудачника до C++ => Java => Scala программиста, в процессе защитив диссертацию. Любит все распределенное и отказоустойчивое. Активист воронежской Scala User Group.



Презентация

Презентация

Видео




Все доклады