Расскажем об инфраструктурных работах в трех направлениях.
1️⃣ Масштабируем сервис сетевых дисков
Сервис отвечает за операции вокруг сетевых дисков: создание, монтирование, подключение. Запросов к нему становится больше, и особенно это заметно на пиках — диск может создаваться или монтироваться не сразу.
Переработали архитектуру сервиса и сделали ее распределенной. Сервис масштабируется горизонтально, мощность растет вслед за нагрузкой — прежнее ограничение по скорости снято.
2️⃣ Изолируем проблемные ноды в очереди
Как только нода перестает отвечать, сразу откладываем приходящие на нее задачи. Ускорили этот процесс, чтобы нода изолировалась быстрее и не тянула за собой остальные — очередь не застревает, а живые ноды работают как обычно.
Немного технических деталей: мы регулярно проверяем доступность нод через libvirt. Если нода несколько раз подряд не отвечает, помечаем ее как недоступную → задачи к ней откладываются, пока связь не восстановится.
3️⃣ Ускоряем создание бэкапов
Обновляем парк хранилищ в Москве на более производительное оборудование и заодно приводим все хранилища к единой конфигурации. За счет этого бэкапы создаются быстрее.
На весь парк уйдет около двух месяцев. Данные реплицируются на время работ, так что обновление не затронет ваши проекты.
И это, конечно, не все. Часть обновлений еще обкатываем — поделимся ими, когда сами убедимся, что все работает стабильно 👌