Varnish High Availability

VHA6

VHA6 is a new version of VHA which does direct cache to cache transfers without needing any VCL context.

VHA6 works by broadcasting a replication request from an origin node to all the peer nodes. The peers then fetch the object back from the origin node. All object attributes are exported from the origin and re-imported on the peer.

VHA6 is available in the varnish-plus-ha package starting in version 6.0.3r6. YKey support requires version 6.0.4r1 or later.

VHA6 Architecture

       Parent VCL
           │
           ▼
       object insertion
           │
           └──◆─────▶ broadcast.vcl      origin.vcl
              │            │              ▲      │
              │         [hash]            │    (exports)
       firewall.vcl        │              │      │
                     VHA_BROADCAST        │     object
 ORIGIN                    │              │      │
                     *broadcaster*        │      │
                         │││              │      │
 ══ security.vcl ════════│││══════════════│══════│═══════
                         │││              │      │
 PEER(S)                 ▼▼│             VHA_FETCH
                           │              │      │
                           │           [hash]    │
                           │  ┌───────────┘      │
                           ▼  │                  │
                         peer.vcl ◀──────────────┘