Skip to content

Latest commit

 

History

History
69 lines (38 loc) · 4.2 KB

File metadata and controls

69 lines (38 loc) · 4.2 KB
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
Loading

CodeBoardingDemoContact

Details

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.

Cache Orchestrator

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:

Fastly Purge Manager

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:

Fastly Purge Operations

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:

Category Change Invalidation Logic

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:

Metadata Provider

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: