🖖В этот понедельник поговорим о высоких нагрузках. В прошлом мы уже рассмотрели, как устроена архитектура стримингового сервиса. Ежедневно Netflix обслуживает сотни миллионов пользователей по всему миру, и скорость публикации напрямую влияет на удержание. Ключевым инструментом статье от NewsLetter назвали EVCache – распределённое in-memory хранилище.
💻EVCache используется для разных задач, каждая из которых напрямую влияет на производительность. Саураб Дашора в статье описал принцип работы
look-aside cache для часто используемых данных. Например, рекомендации или история просмотров. Когда приложение запрашивает данные, то проверяет кэш, если данных там нет — обращается к БД. Так, при открытии домашней страницы Netflix рекомендации и миниатюры подгружаются почти моментально. Хранилище вмещает
transient data, которая содержит информацию о текущей сессии. Данные о позиции видео, устройстве и действиях пользователя обновляются в реальном времени. Если вы ставите фильм на паузу на телефоне, то с легкостью возобновите просмотр на планшете или ноуте. Для некоторых задач EVCache работает как primary store. Например, персонализированные домашние страницы формируются ночью для каждого пользователя, а затем сохраняются в кэше. Больше о принципах работы – читайте тут.Именно использование EVCache позволяет Netflix поддерживать масштабируемость и предоставляет комфортный UX даже при огромной аудитории и высоких нагрузках.
👩💻 Подробнее о характеристиках и релизах – читайте на GitHub
#архитектура #devops #кэширование
