Remote config
Что он настраивает и почему удаленно?


Что делает?


Что может?
На основе:
- Тела, параметров и кук запроса
- Дня недели и погоды на марсе
- А/Б кук
- Настроек переменных
- Кода на js
- Бесконечного полета фантазий
разработчиков
Делать:
- Включать те или иные фичи
- Разрешать роутинг на стороне фронта
- Настраивать списки товаров для различных акций
- ВРЕМЕННО заменять админку для продуктов a.k.a "Арентер"
- И многое другое
Особенности, почему не firebase?
Провести демонстрацию работы.
Одно свойство = одна функция
Один запрос = один изолированный js контекст
Пример с арентером, предзаказом, кэшбеком и промками
Пример с АБ тестированием
Пример с контролем фичей на разных стейджах
Пример с типизацией
Как мы планируем интегрироваться на фронте?

в параллель с "core" запросами
Можно интегрироваться на беке и на мобилке
Под каждый проект можно создавать свой независимый конфиг, можно шарить переменные между ними
Как я планирую работать с "ПИЛОТАМИ"?

Ценности
- Бизнес - ускоренная конфигурирование пилотных проектов (меньше ресурсов), возможность временного выкатывания фичей без админки, аб тестирование по любым параметрам, гибкая настройка фичей в рантайме
- Разработка - уменьшение хардкода в кодовой базе проекта, быстрое конфигурирование фичей на стейджах, конфигурация списков не через гит а в рантайме
- Поддержка - быстрое конфигурация роутинга. Переход на SPA, снижение нагрузки на nuxt server
Проблема

- Запуск untrusted кода требует изоляции
- Изоляция жрет ресурсы
- Сервис с высокой нагрузкой жрет ресурсы как не в себя
Решение
- Сервис все еще работает быстрее чем nuxt-server с серверными запросами
- Снижение нагрузки на nuxt-server через SPA
- Перетягивание ресурсов nuxt-server на себя
- Увеличение серверных ресурсов
Один инстанс = 200 рпс с задержкой 0.15
Архитектура сервиса
Для девопсов, а не для тебя, малыш

Подготовительные мероприятия
- Проанализировать нагрузку на nuxt-server
- Раскатать достаточное кол-во нод билдера
- Расстрелять из яндекс танка
Вопросы?
Remote config
By sticker0ne
Remote config
- 84