When talking about caching, nearly all the attention goes to ensuring that content is properly stored in the cache. While that makes total sense from a performance perspective, people tend to forget that removing objects from the cache is equally as important.
A microservice is an autonomous subset of a software system, often responsible for managing some of the data within that system. Together the microservices of a system form a microservice architecture: a dynamic array of semi-independent and loosely coupled computing processes. Microservices are a key part of all modern system infrastructures, enabling the simultaneous deployment of complex applications and workflows that simply aren’t achievable with traditional monolithic architectures.
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.