GraphQL is a query language and server-side runtime for APIs, designed to give clients the specific data they need and make it easier to aggregate data from multiple sources. It aims to make APIs fast and flexible, and so is a common feature in the web stack of high traffic websites and e-commerce platforms. In these environments it’s often used to do things like fetch real-time price information and stock levels.
Securing high performance and speed for web content delivery relies on smart caching strategies. Caching content is a well-understood principle, but this still doesn’t make smart caching a given. Cache invalidation isn’t easy, but important things rarely are. Varnish can help.
US election night news coverage during presidential election years are usually “event” TV, so attracting higher-than-normal traffic is expected. But 2020 has created what can only be described as a sustained spike in live video streaming traffic, as vote counts rolled in and revealed many states’ races too close to call. Traffic to news sites more than quadrupled.
It's cargo-cult fighting time! Today, we are going to look at a ban expression that you probably have used, and maybe even have recommended (gasp!) to your fellow Varnish users:
req.url ~ /
We'll discuss why we use it, why it's good but mostly bad, and how to fix it. Hopefully, along the way, we'll shed some light on some Varnish internals that you can use in other situations.