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