Skip to content

Instantly share code, notes, and snippets.

@aitchkhan
Last active October 3, 2023 07:22
Show Gist options
  • Save aitchkhan/78eda28ad926438aa02a780da076b282 to your computer and use it in GitHub Desktop.
Save aitchkhan/78eda28ad926438aa02a780da076b282 to your computer and use it in GitHub Desktop.
  sequenceDiagram
    participant User
    participant WebApplication
    participant Cache
    participant TriggerService
    participant Mainframe

    User ->> WebApplication: Access rates page
    WebApplication ->> Cache: Check cache for rates
    Cache -->> WebApplication: Cached rates (if available)
    alt cache
      WebApplication ->> User: Display cached rates
    else Cache Miss
        WebApplication ->> Mainframe: Request rates through web service
        Mainframe -->> WebApplication: Exchange rates
        WebApplication ->> Cache: Store rates in cache
        WebApplication ->> User: Display fetched rates
    end

    Mainframe ->> TriggerService: Rate update detected
    TriggerService ->> Cache: Invalidate cache for affected currency pair(s)
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment