Skip to content

Generic graceful tag expiry (aka not using BAN) #241

@andrerom

Description

@andrerom

With work ongoing in #234 (PR #237) to generalize tags, and suggestions in #148 for how FOSHttpCache could in a general way keep track of tags and corresponding urls, this would allow us to support tagging generically across Symfony HttpCache, Nginx and Varnish, by using PURGE calls per url.

Besides supporting all cache proxies, this approach will also allow us to do graceful purging where supported, including Varnish. BAN does not support this, and there is afaik no indication that Varnish will implemented a SoftBan anytime soon.

Why is this important? For high load use cases (high traffic web site, front page), BAN will make Varnish not return the cache object for anything that matches the BAN regex, making it impossible to setup custom VCL rules to allow graceful cache handling on expired cache objects, potentially leading to massive dog-piling effects.

And given FOSHttpCache is the Reverse proxy solution for PHP and Symfony, this imho implies we should aim to cover those high load scenarios, ideally out of the box.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions