Скачать книгу

не "отвечаю через раз", это "отвечаю всегда, но не полной функциональностью".

      Желательно иметь несколько уровней деградации:

      – всё плоховатенько – будем отключать эти малозаметные блоки, типа “сопутствующие товары” и “такие же как вы покупают”

      – всё становится хуже – будем отключать функциональность по нарастающей важности, например “дата доставки” или “превью при наведении”

      – все совсем плохо – отдаём статику типа “вот наши лучшие товары, на сайте технические работы”

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

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

      16. Кэши и заглушки

      Это продолжение темы про деградацию. Если у вас есть всякие реал-тайм данные, которые вы готовите на каждый запрос пользователя, имейте в виду: тот сервис, откуда вы их реал-тайм берете, обязательно перестанет работать. Если хотите жить красиво – имейте какой-то универсальный дефолтный вариант ответа. Если вы для каждого пользователя показываете "Такие же как вы покупали вот это", то в случае поломки начните показывать "Топ-5 покупок в нашем магазине". Это точно лучше, чем не показывать ничего.

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

      Состав этих кешей и заглушек необходимо согласовать с продакт-оунером.

      17. Fallback или "последний шанс"

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

      Тыква – это народное название для страницы последней надежды (fallback). В беспощадной борьбе с "502: Bad Gateway" (или другими ошибками про невозможность обработать запрос) выигрывает тот, кто сдаётся последним.

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

      Из чего можно сделать тыкву:

      – если это сайт новостей, то периодически генерируйте статическую страницу с "Топ лучших новостей планеты всей"

      – если это интернет-магазин, пусть там будет одна страница с вашим лучшим товаром и что-то полезное на javascript

      – сделайте на странице "тетрис", в конце концов – это будет хотя бы забавно

      – укажите

Скачать книгу