Серверная платформа A7 управляет умными домами, зданиями и диспетчеризацией: инженерные системы, устройства, сценарии. Я написала основную часть исходного сервера, а в 2026 году переписала его ядро с Qt на чистый C++17 — с новой архитектурой и полным переносом накопленных данных.
Что спроектировано заново:
• Хранилище: объекты в арене, ссылки «слот + поколение» вместо голых указателей, журнал изменений (WAL) и снимки.
• Снимок без остановки сервера: пауза 3,63 с → 12 мс на стенде с 33 000 устройств и 5 000 кадров в секунду, потерянных кадров нет.
• Мигратор со старой базы с независимой проверкой: выгрузка из 3,39 млн строк совпала со старой побайтно.
• Паспорт схемы вместо пересборки на каждом старте: готовность сервера 2 973 → 2 173 мс на базе из 580 тыс. объектов.
• Скриптовый движок: JS-подобный язык, компилятор и виртуальная машина с бюджетом времени и отменой.
• Сеть и оборудование — в плагинах с бинарно стабильным C-интерфейсом; правки конфигурации без рестарта.
Старый сервер служил эталоном: новое ядро сверялось с ним на реальных данных, на границах этапов — санитайзеры адресов и гонок. Около 380 тыс. строк C++ вместе с тестами, 6 100 автотестов, полный прогон без отказов, 155 файлов документации. Ядро работает на стендах и в песочнице.
Так же подхожу к чужому legacy: сначала разобраться в связях и формате данных, потом менять архитектуру, не теряя данные и путь перехода со старой версии.
Подробный разбор — на сайте по ссылке.
https://olga-developer.ru/projects/a7/