graph LR
Cache_Orchestrator["Cache Orchestrator"]
Fastly_Purge_Manager["Fastly Purge Manager"]
Fastly_Purge_Operations["Fastly Purge Operations"]
Category_Change_Invalidation_Logic["Category Change Invalidation Logic"]
Metadata_Provider["Metadata Provider"]
Cache_Orchestrator -- "initiates" --> Fastly_Purge_Manager
Cache_Orchestrator -- "initiates" --> Category_Change_Invalidation_Logic
Fastly_Purge_Manager -- "delegates to" --> Fastly_Purge_Operations
Category_Change_Invalidation_Logic -- "depends on" --> Metadata_Provider
Category_Change_Invalidation_Logic -- "initiates" --> Fastly_Purge_Manager
This subsystem is responsible for abstracting and managing interactions with external Content Delivery Networks (CDNs), specifically Fastly, for cache invalidation tasks within the arXiv-NG ecosystem. It provides a structured interface for other arXiv services to request cache purges without needing to understand the underlying Fastly API complexities.
Serves as the high-level public API for initiating cache invalidation requests. It orchestrates the overall purge process, determining the necessary purge operations based on the application's context (e.g., a specific paper). It abstracts the complexities of Fastly interactions from the calling application.
Related Classes/Methods:
Manages the direct communication and interaction with the Fastly API. It is responsible for executing both single and multiple key purges, potentially optimizing for batch operations. This component acts as the direct interface to the external Fastly service.
Related Classes/Methods:
This conceptual component groups the low-level, atomic operations for purging Fastly cache keys. It includes functionalities for purging individual keys and efficiently handling multiple keys, potentially with batching or chunking.
Related Classes/Methods:
Encapsulates specific business logic for cache invalidation scenarios related to changes in paper categories. This component determines the specific set of keys or rules required for purging when a category update occurs, ensuring targeted and efficient invalidation.
Related Classes/Methods:
A utility component responsible for extracting and providing necessary metadata (such as category and date information) required by specific cache invalidation scenarios, particularly for the Category Change Invalidation Logic. It ensures that the correct data is available for complex purge operations.
Related Classes/Methods: