Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этой теме описывается работа кэша в рамках таких политик, как политика заполнения кэша (Populate Cache) , политика поиска (LookupCache) , политика аннулирования кэша (InvalidateCache) и политика кэширования ответов (Response Cache) .
Общие и средовые кэши
Каждая настроенная вами политика кэширования может использовать один из двух типов кэша: включенный в систему общий кэш, к которому имеют доступ ваши приложения, и один или несколько кэшей, ограниченных средой, которые вы создаете самостоятельно.
- Общий кэш: По умолчанию ваши прокси-серверы имеют доступ к одному общему кэшу в каждой среде. Общий кэш хорошо подходит для базовых сценариев использования.
Работать с общим кешем можно только с помощью политик кэширования, а не через API управления. Чтобы политика кэширования использовала общий кеш, просто опустите элемент
<CacheResource>в политике. - Кэш среды: Если вы хотите настроить свойства кэша с выбранными вами значениями, вы можете создать кэш, ограниченный областью действия среды. Дополнительную информацию о создании кэша см. в разделе «Создание и редактирование кэша среды» .
При создании кэша среды вы настраиваете его свойства по умолчанию. Вы можете настроить политику кэширования на использование кэша среды, указав имя кэша в элементе
<CacheResource>политики.
О шифровании кэша
Edge для публичного облака: кэш шифруется только в организациях, соответствующих требованиям PCI и HIPAA . Шифрование для таких организаций настраивается во время предоставления ресурсов организации.
Уровни кэширования в оперативной памяти и постоянного кэша
Как общий, так и окружающий кэш построены на двухуровневой системе, состоящей из уровня в оперативной памяти и уровня постоянного хранения. Политики взаимодействуют с обоими уровнями в рамках единой структуры. Edge управляет взаимоотношениями между уровнями.

- Первый уровень — это кэш в оперативной памяти (L1) для быстрого доступа. Каждый узел обработки сообщений (MP) имеет собственный кэш в оперативной памяти (реализованный на основе Ehcache) для максимально быстрой реакции на запросы.
- На каждом узле определенный процент памяти резервируется для использования кэшем.
- При достижении предела памяти Apigee Edge удаляет записи кэша из памяти (хотя они по-прежнему хранятся в постоянном кэше L2), чтобы гарантировать наличие памяти для других процессов.
- Записи удаляются в порядке времени с момента последнего доступа, при этом самые старые записи удаляются первыми.
- Эти кэши также ограничены количеством записей в кэше.
- Уровень 2 — это постоянный кэш (L2), расположенный под кэшем в оперативной памяти. Все узлы обработки сообщений используют общее хранилище данных кэша (Cassandra) для сохранения записей кэша.
- Записи кэша сохраняются здесь даже после их удаления из кэша L1, например, при достижении лимита памяти.
- Поскольку постоянный кэш используется совместно несколькими обработчиками сообщений (даже в разных регионах), записи кэша доступны независимо от того, какой узел получает запрос на кэшированные данные.
- Кэшироваться могут только записи определенного размера, действуют и другие ограничения на размер кэша. См. раздел «Управление ограничениями кэша» .
Возможно, вас также заинтересует подробная информация о кэшировании Apigee Edge на форуме сообщества Apigee .
Как политики используют кэш
Ниже описано, как Apigee Edge обрабатывает записи кэша в процессе работы политик кэширования.
- Когда политика записывает новую запись в кэш (политика PopulateCache или ResponseCache):
- Edge записывает запись в кэш L1 в оперативной памяти только того обработчика сообщений, который обработал запрос. Если лимиты памяти обработчика сообщений достигнуты до истечения срока действия записи, Edge удаляет запись из кэша L1.
- Edge также записывает запись в кэш L2.
- Когда политика считывает данные из кэша (политика LookupCache или ResponseCache):
- Edge сначала ищет запись в кэше L1 в оперативной памяти обработчика сообщений, обрабатывающего запрос.
- Если соответствующая запись в оперативной памяти отсутствует, Edge ищет её в постоянном кэше L2.
- Если запись отсутствует в постоянном кэше:
- Политика LookupCache: Из кэша не извлекается никаких значений.
- Политика ResponseCache: Edge возвращает клиенту фактический ответ от целевого устройства и сохраняет запись в кэше до тех пор, пока она не истечет или не будет признана недействительной.
- Когда политика обновляет или аннулирует существующую запись в кэше (политика InvalidateCache, PopulateCache или ResponseCache):
- Обработчик сообщений, получивший запрос, отправляет широковещательное сообщение с просьбой обновить или удалить запись в кэше L1 на себе и на всех других обработчиках сообщений во всех регионах.
- Если широковещательная передача прошла успешно, каждый обработчик принимающих сообщений обновляет или удаляет запись в кэше L1.
- Если широковещательная рассылка не удалась, недействительное значение кэша остается в кэше L1 на обработчиках сообщений, которые не получили широковещательное сообщение. Эти обработчики сообщений будут хранить устаревшие данные в кэше L1 до истечения времени жизни (TTL) записи или до тех пор, пока не будет достигнут лимит памяти обработчика сообщений.
- В ходе трансляции также обновляется или удаляется запись в кэше L2.
- Обработчик сообщений, получивший запрос, отправляет широковещательное сообщение с просьбой обновить или удалить запись в кэше L1 на себе и на всех других обработчиках сообщений во всех регионах.
Управление ограничениями кэша
С помощью настроек можно управлять некоторыми аспектами кэша. Общий объем пространства, доступного для кэша в оперативной памяти, ограничен системными ресурсами и не подлежит настройке. К кэшу применяются следующие ограничения:
- Ограничения кэша : Применяются различные ограничения кэша , такие как размер имени и значения, общее количество кэшей, количество элементов в кэше и срок действия.
- Кэш в оперативной памяти (L1). Ограничения по объему памяти для вашего кэша не настраиваются. Ограничения устанавливаются Apigee для каждого обработчика сообщений, который размещает кэши для нескольких клиентов.
В облачной среде, где кэши в оперативной памяти для всех развертываний клиентов размещаются на нескольких общих обработчиках сообщений, каждый обработчик имеет настраиваемый Apigee пороговый процент использования памяти, чтобы гарантировать, что кэширование не будет потреблять всю память приложения. При превышении этого порога для данного обработчика сообщений записи кэша удаляются из памяти в порядке убывания их объема. Удаленные из памяти записи остаются в кэше L2 до истечения срока их действия или аннулирования.
- Постоянный (L2) кэш. Записи, вытесненные из кэша в оперативной памяти, остаются в постоянном кэше в соответствии с настраиваемыми параметрами времени жизни.
Настраиваемые оптимизации
В таблице ниже перечислены параметры, которые можно использовать для оптимизации производительности кэша. Значения для этих параметров можно указать при создании нового кэша среды, как описано в разделе «Создание и редактирование кэша среды» .
| Параметр | Описание | Примечания |
|---|---|---|
| Срок действия | Указывает время жизни записей в кэше. | Никто. |