Иногда подход с хранением данных у себя неприменим, потому что поставщики отдают данные только по запросу к ним. А если у нас много запросов и не все данные, то надо придумать, как жалеть поставщиков и не уронить их случайно.
В докладе рассмотрим эволюцию архитектуры поиска под нагрузками. Так как задача выглядит IOBound, то начнём с очевидного решения. Поставим сервис, к нему подключим redis cache и поехали в прод. Однако со временем данные становятся объёмнее, потеря их может стать критичной, поэтому мы рассмотрим менее популярные альтернативы. После чего придут поставщики и скажут, что стоит снизить количество запросов. Поэтому нам придётся добавить кастомный протокол балансировки, да и настроить HAProxy дальше стандартной документации.
Этот доклад окажется полезным для разработчиков систем с большим количеством внешних интеграций и технических ограничений по нагрузке.