От алгоритма до прода: как подойти к верификации распределенных систем

Технологии VK

Архитектуры и масштабируемость

Распределенные системы / распределенные СУБД

Базы данных / другое
Распределенные системы
Интеграционное тестирование
GO
Теория
Технологии VK

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Если вы хотите узнать, как проверить валидность того, что вы написали. И даже до того, как написан код.

Целевая аудитория

Разработчики распределенных систем / баз данных.

Тезисы

Команда инфраструктуры ВКонтакте разрабатывает распределенные системы, цена ошибки в которых очень велика, потому что это фундамент для бесперебойной работы всего vk.com. В докладе поделюсь опытом, который мы наработали в ходе верификации наших систем. Расскажу, как проверяем, что система будет отвечать заданным требованиям даже в случае различных повреждений в кластере — от сети до дисков.

Пройдемся по всем этапам от зарождения идеи до ее реализации и разберём, как на каждом из них понять, что корректность не нарушена. Поговорим про TLA/TLC+, fuzzing и причинах, почему нам пришлось написать "свой" Jepsen.

Никита Галушко

VK, ВКонтакте

Вот уже больше 8 лет плотно сидит на Go. Пишет разной степени сложности бэкенды и насаждает Effective Go где только возможно :)

VK, ВКонтакте

ВКонтакте — крупнейшая социальная сеть в России и странах СНГ. Мы ставим перед собой масштабные вызовы и делаем технологии доступными для каждого пользователя. ВКонтакте помогает решать любые повседневные задачи — и даже больше!

Видео

Другие доклады секции

Архитектуры и масштабируемость