Учебники

AWS ElastiCache — Обзор

ElastiCache — это среда распределенного кэша, обеспечивающая более быстрый доступ к данным с помощью облачного кэширования. Запрос данных непосредственно из баз данных или через удаленные вызовы API намного медленнее, чем запрос данных из кеша. AWS предоставляет сервис ElastiCache, который отличается высокой производительностью, масштабируемостью и экономичностью. Это устраняет сложности, связанные с управлением распределенным кешем.

Используйте случаи для ElastiCache

Ниже приведены некоторые примеры использования, которые используют ElastiCache для быстрой обработки запросов экономически эффективным способом.

  • Аналитика в реальном времени. Когда покупатели совершают покупки в Интернете, рекомендации по продуктам должны генерироваться мгновенно, когда покупатель продолжает просматривать каталог. Для этого необходимо, чтобы существующие продукты, уже выбранные клиентом, были сохранены в кеше и проанализированы в режиме реального времени для рекомендации следующего набора продуктов.

  • Управление сообщениями. Когда сообщение отправляется подписчикам по некоторым каналам, некоторые подписчики всегда отменяют свою подписку, а некоторые присоединяются к определенному каналу. Без механизма кэширования существует вероятность того, что сообщения могут быть пропущены или неуместны из-за задержки. Таким образом, ElastiCache помогает поддерживать статус подписки актуальным и точным.

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

Аналитика в реальном времени. Когда покупатели совершают покупки в Интернете, рекомендации по продуктам должны генерироваться мгновенно, когда покупатель продолжает просматривать каталог. Для этого необходимо, чтобы существующие продукты, уже выбранные клиентом, были сохранены в кеше и проанализированы в режиме реального времени для рекомендации следующего набора продуктов.

Управление сообщениями. Когда сообщение отправляется подписчикам по некоторым каналам, некоторые подписчики всегда отменяют свою подписку, а некоторые присоединяются к определенному каналу. Без механизма кэширования существует вероятность того, что сообщения могут быть пропущены или неуместны из-за задержки. Таким образом, ElastiCache помогает поддерживать статус подписки актуальным и точным.

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

Контент ElastiCache

Все не может быть и не нужно кэшироваться. Итак, различные факторы, которые влияют на то, какой контент необходимо кэшировать, обсуждаются ниже.

  • Содержимое базы данных. Содержимое , извлекаемое после сложной и дорогостоящей обработки запросов, определенно является кандидатом для кэширования. Это уменьшает задержку, избегая повторения обработки запросов и снижает стоимость чтения / записи диска базы данных.

  • Данные, к которым часто обращаются — даже когда есть тип данных, который не включает дорогостоящий запрос, он может нуждаться в кэшировании, если к нему чаще обращаются, чем к другим частям данных.

  • Шаблон доступа — если данные изменяются слишком часто, это не полезно для кэширования. Таким образом, нам нужно искать способы, где доступ к данным является относительно статичным, но часто необходимым для пользователя.

  • Допуск для устаревания — после кэширования данные начинают устаревать, пока не будут прочитаны снова. В таких случаях, если приложение, нуждающееся в данных, имеет низкий допуск на устаревшие данные, кэширование не помогает. Например, когда вы покупаете акцию, цена должна быть точной на данный момент, поэтому кеширование не требуется. Но цена закрытия вчерашнего дня, которая будет часто использоваться для сегодняшних расчетов, является статической и требует кэширования.

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

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

Шаблон доступа — если данные изменяются слишком часто, это не полезно для кэширования. Таким образом, нам нужно искать способы, где доступ к данным является относительно статичным, но часто необходимым для пользователя.

Допуск для устаревания — после кэширования данные начинают устаревать, пока не будут прочитаны снова. В таких случаях, если приложение, нуждающееся в данных, имеет низкий допуск на устаревшие данные, кэширование не помогает. Например, когда вы покупаете акцию, цена должна быть точной на данный момент, поэтому кеширование не требуется. Но цена закрытия вчерашнего дня, которая будет часто использоваться для сегодняшних расчетов, является статической и требует кэширования.

Компоненты ElastiCache

ElastiCache, предоставляемый AWS, имеет следующие важные компоненты. Мы увидим их конфигурацию и использование в следующих главах.

  • Узел . Узел — это фрагмент защищенного ОЗУ с сетевым подключением фиксированного размера. Каждый узел кэша имеет свое собственное имя и порт службы доменных имен (DNS).

  • ElastiCache для Redis Shards — это группа из одного-шести связанных узлов. Кластер может иметь от одного до 90 осколков.

  • ElastiCache для кластеров Redis. Кластер Redis — это логическая группа из одного или нескольких ElastiCache для Redis Shards. Данные распределены по сегментам в кластере Redis (с включенным режимом кластера).

  • ElastiCache для конечных точек Redis — это уникальный адрес, используемый вашим приложением для подключения к узлу или кластеру ElastiCache.

Узел . Узел — это фрагмент защищенного ОЗУ с сетевым подключением фиксированного размера. Каждый узел кэша имеет свое собственное имя и порт службы доменных имен (DNS).

ElastiCache для Redis Shards — это группа из одного-шести связанных узлов. Кластер может иметь от одного до 90 осколков.

ElastiCache для кластеров Redis. Кластер Redis — это логическая группа из одного или нескольких ElastiCache для Redis Shards. Данные распределены по сегментам в кластере Redis (с включенным режимом кластера).

ElastiCache для конечных точек Redis — это уникальный адрес, используемый вашим приложением для подключения к узлу или кластеру ElastiCache.

Особенности ElastiCache

Различные функции ElastiCache помогают нам планировать правильную конфигурацию и оценку стоимости. Важные особенности, как показано ниже.

ElastiCache для Redis Replication — репликация осуществляется путем группировки от двух до шести узлов в сегменте. Одним из этих узлов является основной узел для чтения / записи. Все остальные узлы являются репликами только для чтения.

Регионы и зоны доступности . Кэш-память можно создавать и использовать в любых местах, соответствующих вашим бизнес-требованиям. Сервис AWS ElastiCache доступен в нескольких регионах AWS по всему миру.

Группы параметров ElastiCache. Группа параметров ElastiCache — это именованная коллекция параметров, специфичных для движка, которые можно применить к кластеру. Они используются для управления использованием памяти, политиками выселения, размерами предметов и т. Д.

ElastiCache для Redis Security — вы можете управлять экземплярами Amazon EC2, которые могут обращаться к вашему кластеру, используя группы подсетей или группы безопасности.