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

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

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

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

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

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

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

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

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

Тезисы

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

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

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

VK, ВКонтакте

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

VK, ВКонтакте

VK — это более 200 технологичных и высоконагруженных проектов, свыше 15 000 сотрудников. ВКонтакте, ОК, VK Cloud, Дзен, Маруся, VK Play — это лишь часть продуктов VK, которыми ежедневно пользуются миллионы людей. ВКонтакте — крупнейшая социальная сеть в России. Команда ВКонтакте разрабатывает технологические решения, которые отвечают критериям быстродействия, отказоустойчивости и качества, чтобы пользователи получали максимум для общения, работы, учебы, развлечения и творчества.

Видео

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

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