Amazon ЭластиКэш
Эта статья может чрезмерно полагаться на источники, слишком тесно связанные с предметом , что потенциально препятствует тому, чтобы статья была проверяемой и нейтральной . ( Июль 2018 г. ) |
Разработчик(и) | Amazon.com |
---|---|
Первоначальный выпуск | 22 августа 2011 г [1] | .
Доступно в | Английский |
Тип | Облачное хранилище |
Веб-сайт | оу |
Amazon ElastiCache — это полностью управляемое хранилище данных в памяти и служба кэширования от Amazon Web Services (AWS) . Служба повышает производительность веб-приложений за счет получения информации из управляемых в памяти кэшей вместо того, чтобы полностью полагаться на более медленные дисковые базы данных. ElastiCache поддерживает два механизма кэширования в памяти с открытым исходным кодом: Memcached и Redis (также называемый «ElastiCache для Redis»). [2]
Amazon ElastiCache — веб-сервис, работающий в вычислительном облаке , предназначенный для упрощения настройки, эксплуатации и масштабирования развертываний memcached и Redis. Сложные процессы администрирования, такие как установка исправлений программного обеспечения, резервное копирование и восстановление наборов данных, а также динамическое добавление или удаление возможностей, управляются автоматически. Масштабирование ресурсов ElastiCache можно выполнить с помощью одного вызова API . [3]
Amazon ElastiCache был впервые выпущен 22 августа 2011 г. [4] поддержка memcached. За этим последовала поддержка зарезервированных экземпляров 5 апреля 2012 г. [5] и Redis 4 сентября 2013 г. [6]
Использование
[ редактировать ]Являясь службой управляемой базы данных с несколькими поддерживаемыми механизмами, Amazon ElastiCache имеет широкий спектр применений, в том числе
Ускорение производительности
[ редактировать ]Ограничения базы данных часто являются узким местом для производительности приложений. Разместив Amazon ElastiCache между приложением и уровнем его базы данных , можно ускорить работу базы данных. [7]
Снижение затрат
[ редактировать ]Использование ElastiCache для повышения производительности базы данных может значительно сократить инфраструктуру, необходимую для поддержки базы данных. Во многих случаях экономия перевешивает затраты на кэш. Expedia смогла использовать ElastiCache, чтобы сократить выделенную емкость DynamoDB на 90 %, сократив общую стоимость базы данных в 6 раз. [8] [9]
Обработка данных временных рядов
[ редактировать ]Используя механизм Redis, ElastiCache может быстро обрабатывать данные временных рядов , быстро выбирая самые новые или самые старые записи или события в пределах определенного момента времени. [10]
Таблицы лидеров
[ редактировать ]Таблицы лидеров — это эффективный способ быстро показать пользователю, где он находится в настоящее время в геймифицированной системе. Для систем с большим количеством игроков подсчет и публикация рейтингов игроков может оказаться сложной задачей. Использование Amazon ElastiCache с движком Redis может обеспечить высокую скорость и масштабируемость таблиц лидеров. [11]
Ограничение скорости
[ редактировать ]Некоторые API допускают только ограниченное количество запросов за период времени. Механизм Amazon ElastiCache для Redis может использовать инкрементальные счетчики и другие инструменты для регулирования доступа к API в целях соблюдения ограничений. [12]
Атомный счетчик
[ редактировать ]Программы могут использовать инкрементные счетчики для ограничения допустимых количеств, например максимального количества студентов, зачисленных на курс, или обеспечения участия в игре не менее 2, но не более 8 игроков. Использование счетчиков может создать состояние гонки , при котором операция будет разрешена, поскольку счетчик не был обновлен вовремя. Использование функций атомарного счетчика ElastiCache для Redis, в которых одна операция одновременно проверяет и увеличивает значение счетчика, предотвращает возникновение состояний гонки. [13]
Чаты и доски объявлений
[ редактировать ]ElastiCache для Redis поддерживает шаблоны публикации-подписки , которые позволяют создавать чаты и доски объявлений, где сообщения автоматически рассылаются заинтересованным пользователям. [14]
Варианты развертывания
[ редактировать ]Amazon ElastiCache может использовать узлы кэша по требованию или зарезервированные узлы кэша.
Узлы по требованию предоставляют емкость кэша почасово, при этом ресурсы в облаке AWS назначаются при выделении узла кэша. Узел по требованию может быть выведен из эксплуатации его владельцем в любое время. Каждый месяц владельцу будет выставляться счет за использованные часы. [15]
Зарезервированные узлы требуют обязательства сроком на 1 или 3 года, при котором ресурсы кэша выделяются владельцу. Почасовая стоимость зарезервированных узлов значительно ниже почасовой стоимости узлов по требованию. [16]
Производительность
[ редактировать ]Эффективный кэш может значительно повысить производительность приложения и скорость навигации пользователя. Amazon CloudWatch предоставляет метрики производительности ElastiCache, которые можно отслеживать. [17]
Ключевые показатели производительности
[ редактировать ]- Метрики клиента (измеряют объем клиентских подключений и запросов): количество текущих клиентских подключений к кешу, команды Get и Set, полученные кешем.
- Производительность кэша: попадания, промахи, задержка репликации, задержка
- Метрики памяти: использование памяти, вытеснения, объем свободной памяти, доступной на хосте, использование подкачки, коэффициент фрагментации памяти.
- Другие метрики на уровне хоста: загрузка ЦП , количество байтов, прочитанных хостом из сети, количество байтов, записанных хостом в сеть.
Метрическая коллекция
[ редактировать ]Многие метрики ElastiCache можно собирать из AWS через CloudWatch или непосредственно из механизма кэширования, будь то Redis или Memcached, с помощью интегрируемого с ним инструмента мониторинга: [18]
- Использование консоли управления AWS
Использование онлайн-консоли управления — это самый простой способ мониторинга ElastiCache с помощью CloudWatch. Он позволяет настроить базовые автоматические оповещения и получить наглядную картину последних изменений отдельных показателей.
- CloudWatch Интерфейс командной строки
Метрики, связанные с ElastiCache, также можно получить с помощью командной строки. Его можно использовать для выборочных проверок и специальных расследований.
- Инструмент мониторинга, интегрированный с CloudWatch
Третий способ сбора показателей ElastiCache — использование специального инструмента мониторинга, интегрируемого с Amazon CloudWatch.
Известные клиенты
[ редактировать ]В число пользователей Amazon ElastiCache входят Airbnb , [19] Экспедиа , [20] Зинга , [21] Tinder , [22] ФанДуэль , [23] и Mapbox [24]
Ограничения
[ редактировать ]Будучи сервисом AWS, ElastiCache предназначен для доступа исключительно из AWS, хотя его можно подключить к приложениям и базам данных, которые не размещены на AWS. [25]
Альтернативы
[ редактировать ]Другие поставщики предоставляют услуги кэширования облачных данных, сравнимые с Amazon ElastiCache, включая Azure Cache для Redis , Redis Ltd (компания, создающая Redis с открытым исходным кодом и Redis Enterprise), Redis To Go , IBM Compose , Oracle Application Container Cloud Service и Rackspace ObjectRocket .
Ссылки
[ редактировать ]- ^ «Amazon ElastiCache — распределенное кэширование в памяти» . Веб-сервисы Amazon . 22 августа 2011 г.
- ^ «ElastiCache для Redis» . Веб-сервисы Amazon . Проверено 29 августа 2016 г.
- ^ «Масштабирование» . Документация по AWS ElastiCache . Проверено 8 июля 2016 г.
- ^ «Amazon ElastiCache — распределенное кэширование в памяти» . амазонка.com . 22 августа 2011 года . Проверено 8 июля 2016 г.
- ^ «Зарезервированные узлы кэша для Amazon ElastiCache» . амазонка.com . 5 апреля 2012 года . Проверено 8 июля 2016 г.
- ^ «Amazon ElastiCache — теперь с добавлением Redis» . амазонка.com . 4 сентября 2013 года . Проверено 8 июля 2016 г.
- ^ «Используйте Memcached для повышения производительности базы данных» . CloudVPS . Архивировано из оригинала 13 июля 2016 г. Проверено 8 июля 2016 г.
- ^ «Отзывы клиентов» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Создание масштабируемых приложений AWS на базе сервисов AWS NoSQL» . youtube.com . Проверено 8 июля 2016 г.
- ^ «Использование Redis в качестве базы данных временных рядов: почему и как» . Инфо-очередь . Проверено 8 июля 2016 г.
- ^ «ИСПОЛЬЗОВАНИЕ REDIS ДЛЯ СОЗДАНИЯ ТАБЛИЦЫ ЛИДЕРОВ ИГРЫ» . Социальная точка . Архивировано из оригинала 14 сентября 2018 г. Проверено 8 июля 2016 г.
- ^ «DOWN BOY: КАК ЛЕГКО ОГРАНИЧИТЬ ЗАПРОСЫ К API С ПОМОЩЬЮ REDIS» . Коллективная идея . 30 ноября 2012 года . Проверено 8 июля 2016 г.
- ^ «Атомная тирада» . Нейт Вигел против технологий . 18 февраля 2010 года . Проверено 8 июля 2016 г.
- ^ «Создайте простой чат с помощью Redis Pubsub» . Программа «Каждый день» . Архивировано из оригинала 21 июля 2016 г. Проверено 8 июля 2016 г.
- ^ «Цены на Amazon ElastiCache» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Зарезервированные узлы кэша ElastiCache» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Мониторинг показателей производительности ElastiCache с помощью Redis или Memcached» . 10 декабря 2015 года . Проверено 24 октября 2016 г.
- ^ «Сбор метрик ElastiCache + его метрик Redis/Memcached» . 10 декабря 2015 года . Проверено 24 октября 2016 г.
- ^ «Кейс Airbnb» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Создание масштабируемых приложений на сервисах AWS NoSQL» . youtube.com . Проверено 8 июля 2016 г.
- ^ «Пример использования AWS: Zynga» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Повышение масштабируемой отказоустойчивости Tinder с помощью Amazon ElastiCache» . амазонка.com . Проверено 28 марта 2024 г.
- ^ «Кейс FanDuel» . амазонка.com . Проверено 8 июля 2016 г.
- ^ «Создание масштабируемых приложений на сервисах AWS NoSQL» . youtube.com . Проверено 8 июля 2016 г.
- ^ «Доступ к ресурсам ElastiCache из-за пределов AWS» . Документация АВС . Проверено 8 июля 2016 г.