Adobe Experience Managerでのコンテンツアクティベーション後のDispatcher gracePeriodの動作
この記事では、Adobe Experience Manager(AEM)のDispatcher キャッシュ設定のgracePeriod パラメーターで、キャッシュの有効期限が切れた後、新しいコンテンツが取得される前に、古いキャッシュがユーザーに提供されるかどうかを判断する方法について説明します。
説明 description
環境
- Dispatcherを使用したAdobe Experience Managerの導入
/cacheの下に/gracePeriodがあるDispatcher キャッシュ設定
問題/症状
- ライセンス認証によって自動無効化されたリソースが無効化された後、Dispatcherが
/gracePeriodにキャッシュされたコンテンツを提供するかどうかを把握する必要があります。 - 設定の例では、
/gracePeriod "2"を使用しています。値は秒単位です。 - この設定をキャッシュ TTLと区別し、レンダーサーバーがエラーを返したときに古いコンテンツを提供する必要があります。
原因
/gracePeriodは、アクティブ化がstatfileを更新した後、一致するキャッシュ リソースを設定済みの間隔で有効に保つことで、自動無効化の繰り返しを制限します。 Dispatcherは、その間隔でキャッシュされたリソースを提供します。 インターバル中の別の無効化は、ウィンドウを拡張します。 猶予ウィンドウが閉じた後、次のリクエストはキャッシュされたリソースをstatfileと照合し、リソースが古い場合はレンダリングから現在のコンテンツを取得します。 設定は、HTTP キャッシュ TTLの有効期限が切れると開始されません。 レンダリングがエラーを返したときに無効なコンテンツを提供することは、/serveStaleOnErrorによって個別に制御されます。
解決策 resolution
Dispatcherの猶予期間の動作を確認するには、次の手順に従います。
- Dispatcher ファームの
/cache設定を確認します。/gracePeriodを見つけ、ファームの/invalidate設定に含まれているリソースを確認します。 - 設定された値が秒単位であることを確認します。 例えば、
/gracePeriod "2"は、自動無効化されたリソースに2秒の猶予期間を設定します。 - アクティベーションによって該当するstatfileが更新された後、猶予期間中にファームの自動無効化ルールに一致するキャッシュ済みリソースをリクエストします。 Dispatcherは、この間隔でキャッシュされたリソースを有効として扱い、そのリクエストの新しいバージョンを取得する代わりに、キャッシュされたレスポンスを提供します。
- 猶予期間を許可し、別の無効化なしで渡してから、リソースを再度要求してください。 キャッシュされたリソースが該当するstatfileより古い場合、Dispatcherはレンダリングから現在のバージョンを取得し、キャッシュを更新します。
- 猶予期間内に別のアクティベーションが発生した場合は、拡張ウィンドウを考慮します。 アクティブな猶予期間内に無効化するたびに、その猶予期間が延長されます。したがって、繰り返しアクティベートすると、キャッシュされたリソースを1つの設定済み期間よりも長く有効に保つことができます。
- 猶予期間の前、中、後のレンダリングに対するキャッシュ応答、statfile タイムスタンプ、およびリクエストを監視して、動作を確認します。 レンダリングがエラーを返す場合の古いコンテンツ配信は、
/serveStaleOnErrorによって個別に制御されます。
recommendation-more-help
experience-cloud-kcs-help-kbarticles