Varnish Controller

System Overview


Figure 1. System Overview

Figure 1. is an example layout where 3 agents, 1 brainz and 1 API-GW instances are used. There is no theoretical limit on the number of instances when it comes to Brainz, Agent and API-GW.

Brainz, Agent and API-GW talk over NATS. The agent talks to varnishadm to manage VCLs, etc. Brainz instances have connections toward the PostgreSQL database and are the only type of process that performs database operations in the system. The API-GW talks HTTP for the REST API and requests toward any of the API-GW instances are possible. A load balancer could be used in front of the API-GWs.

There is a 1-to-1 relationship between an agent and a Varnish instance. Hence, one agent can only handle one Varnish instance.