Реализация высокопроизводительной распределенной службы каталогов на Go и Badger DB

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

Распределенные системы
Базы данных, обработка данных

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

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

Архитекторы, инженеры, системные администраторы службы каталогов. Все кто интересуется темой импортозамещения высоконагруженных систем.

Тезисы

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

В рамках доклада рассматриваются следующие вопросы:

• построение распределённой архитектуры:
компромиссы распределённых систем (CAP), мультимастер-репликация, механизмы HWM/UTD, организация Pull-модели синхронизации, совместимость версий и обеспечение репликации при поэтапном обновлении системы;

• построение высокопроизводительного хранилища службы каталогов на основе BadgerDB:
реализация механизмов хранения, поиска и индексирования данных в KV-хранилище, организация иерархической модели данных, развитие поискового механизма и индексных структур.

Разработчик backend и инфраструктурных систем. Вёл разработку ключевых компонентов высоконагруженной службы каталогов: архитектура, backend на BadgerDB (хранение, индексирование, поиск), реализация LDAP-протокола и доверительных отношений (trust), а также гранулярная ACL-модель (до уровня атрибутов) и механизм версионируемых миграций схемы и данных.

Видео