Tiered Cache
Ative uma segunda camada de cache entre o cache da Azion e a sua origem, defina a sua topology e o seu piso de TTL, e purgue-a por cache key.
O Tiered Cache é uma segunda camada de cache entre o Cache e a sua origem, mantida em uma região. A primeira camada é o cache do data center que respondeu a requisição. A segunda camada é compartilhada por cada data center e mantém objetos por mais tempo do que a primeira.
Quando uma requisição não encontra a cópia na primeira camada, o data center consulta a camada do Tiered Cache antes de consultar a origem. Um objeto buscado uma vez na origem é então entregue a cada data center por essa camada. Você ativa a camada por cache setting, e ela se aplica aos objetos que esse setting coloca em cache. Para o caminho completo da requisição, consulte Expiração e atualização.
Um miss na primeira camada é respondido pela infraestrutura da Azion em vez da sua origem. A resposta chega com menos latência, e menos requisições chegam à origem. A origem lida com menos carga a um custo de infraestrutura menor, e um objeto permanece em cache por mais tempo. O preço é um salto extra em um miss na primeira camada e um piso no TTL do setting.
Interfaces
O Tiered Cache é um campo de um cache setting, então cada interface que escreve um cache setting o ativa. A tabela nomeia onde o controle fica em cada uma.
| Interface | Onde | Valor |
|---|---|---|
| Azion Console | A seção Cache do drawer Create Cache Settings, na aba Cache Settings de uma aplicação em Applications | O toggle Tiered Cache, desativado em um setting novo |
| Azion API v4 | POST /v4/workspace/applications/{application_id}/cache_settings | modules.cache.tiered_cache.enabled, true ou false, e modules.cache.tiered_cache.topology |
| Azion CLI | azion create cache-setting --file com o corpo JSON | O mesmo objeto tiered_cache. A flag --tiered-caching-enabled sozinha é rejeitada com o erro 21001, porque nenhuma flag define o comportamento de cache |
azion.config.js | Uma entrada do array cache, do tipo AzionCache | tieredCache: { enabled, topology } |
Duas condições se aplicam ao setting. O seu comportamento de cache precisa ser Override cache behavior, porque a API rejeita o Tiered Cache sob Honor cache policies com o erro 21001. O seu Max Age precisa ser de pelo menos 3 segundos, ou a API retorna o erro 21020.
O Tiered Cache está incluído em todos os planos de serviço e é ativado por cache setting. Para todos os campos de um cache setting, com o título e a correção de cada erro, consulte Cache settings. Para os passos no Console que aplicam um setting a um path, consulte Configure políticas de cache para uma aplicação.
Topology
A topology de um cache setting nomeia a região que hospeda a camada do Tiered Cache para os objetos que esse setting coloca em cache. A API, o corpo JSON da CLI e o azion.config.js aceitam os três valores abaixo. Qualquer outro valor retorna o erro 10039, Invalid Choice.
| Valor | Significado |
|---|---|
nearest-region | Região mais próxima |
br-east-1 | Brasil, leste |
us-east-1 | Estados Unidos, leste |
TTL
O tempo de vida (TTL) de um objeto na camada do Tiered Cache é o Max Age do seu cache setting. Enquanto o toggle está ativo, esse campo carrega um piso de 3 segundos. Um setting novo começa em 60 segundos, o padrão do Max Age no Console, na API e na CLI. Por exemplo, um Max Age de 2 segundos com o Tiered Cache ativo é rejeitado com o erro 21020. O mesmo setting com 3 segundos é aceito. O Tiered Cache é feito para objetos que permanecem em cache por muito tempo.
O teto é o teto do próprio TTL de cache. Para o valor e o erro além dele, consulte Limites de Applications.
Purge
O Real-Time Purge remove um objeto da camada do Tiered Cache antes do fim do seu TTL. A camada é tiered_cache no corpo da API e na flag --layer do azion purge. Um purge por cache key é o único tipo que a alcança. Um purge por URL ou por wildcard com essa camada retorna o erro 30001, Invalid Purge Layer For Purge Type.
Para remover um objeto mantido nas duas camadas, purgue primeiro o Tiered Cache e depois o Cache, para que a primeira camada não seja reabastecida por uma cópia desatualizada do Tiered Cache. Para os passos no Console, na API e na CLI, consulte Purgue conteúdo em cache.
Bypass Cache
Uma regra com Bypass Cache no Rules Engine afeta o cache da Azion, e não a camada do Tiered Cache. Uma aplicação com cache settings de Tiered Cache ativos continua a colocar objetos em cache nessa camada pelo TTL mínimo. Para o sintoma que isso produz e o que fazer a respeito, consulte Solucionar problemas de Applications.
Observabilidade
O Real-Time Metrics carrega um dataset Tiered Cache ao lado do seu dataset de Cache. O Real-Time Events também carrega um dataset Tiered Cache. Os dados que o Tiered Cache transferiu são consultados por GraphQL. Para a consulta e a sua resposta, consulte Consulte dados de uso do Tiered Cache.