# varnish/varnish-cache

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/varnish-varnish-cache).**

887 stars · 191 forks · C · archived

## Links

- GitHub: https://github.com/varnish/Varnish-Cache
- Homepage: https://www.varnish-cache.org
- awesome-repositories: https://awesome-repositories.com/repository/varnish-varnish-cache.md

## Description

Varnish Cache is an HTTP reverse proxy and content accelerator designed to sit in front of web servers. It functions as a caching engine that stores frequently accessed web content in memory to reduce the processing load on backend origin servers and accelerate delivery times for end users.

The software distinguishes itself through a domain-specific configuration language that compiles request-handling logic into machine-level bytecode for execution at wire speed. It utilizes a multi-threaded event loop to manage concurrent connections and employs shared-memory object storage alongside virtual memory paging to facilitate rapid data retrieval and disk access.

Beyond its core caching capabilities, the system provides comprehensive traffic management, including request-response pipeline processing and backend health probing. These features allow for the distribution of incoming network requests across multiple servers to ensure high availability and the dynamic routing of traffic away from overloaded infrastructure.

## Tags

### Web Development

- [Content Caching Accelerators](https://awesome-repositories.com/f/web-development/content-caching-accelerators.md) — Acts as a high-performance caching engine that sits in front of web servers to accelerate static asset delivery. ([source](https://github.com/varnish/varnish-cache#readme))
- [Web Performance Optimization Tools](https://awesome-repositories.com/f/web-development/web-performance-optimization-tools.md) — Reduces end-user latency by serving cached content directly from the edge.

### Networking & Communication

- [HTTP Reverse Proxies](https://awesome-repositories.com/f/networking-communication/http-reverse-proxies.md) — Forwards client requests to backend servers to manage data delivery and secure origin infrastructure.
- [Proxy Servers](https://awesome-repositories.com/f/networking-communication/local-http-servers/proxy-servers.md) — Routes network traffic between clients and servers to manage data delivery and improve performance. ([source](https://github.com/varnish/varnish-cache#readme))
- [Load Balancers](https://awesome-repositories.com/f/networking-communication/load-balancers.md) — Distributes incoming network requests across multiple backend servers to ensure high availability.
- [Request and Response Transformations](https://awesome-repositories.com/f/networking-communication/traffic-interception/http-request-interceptors/production-traffic-modifications/outbound-request-modification/request-and-response-transformations.md) — Intercepts and modifies HTTP headers and content within a programmable request-response pipeline.

### Programming Languages & Runtimes

- [Domain Specific Languages](https://awesome-repositories.com/f/programming-languages-runtimes/domain-specific-languages.md) — Compiles custom request-handling logic into machine-level bytecode for high-speed routing and caching decisions.

### Data & Databases

- [Distributed Shared Memory](https://awesome-repositories.com/f/data-databases/distributed-shared-memory.md) — Stores cached web content in a shared memory segment accessible by multiple worker processes for rapid retrieval.

### Software Engineering & Architecture

- [Non-Blocking Event Loops](https://awesome-repositories.com/f/software-engineering-architecture/non-blocking-event-loops.md) — Manages thousands of concurrent client connections using a non-blocking architecture that distributes tasks across multiple CPU cores.

### System Administration & Monitoring

- [Health Probe Systems](https://awesome-repositories.com/f/system-administration-monitoring/observability-instrumentation/system-health-monitoring/health-probe-systems.md) — Monitors backend server availability through background checks to dynamically route traffic away from failing infrastructure.
