Artica Wiki

Backend Mirroring

Duplicate live production traffic to one or more shadow backend servers (fire-and-forget) for testing, migration and analysis.

Backend mirroring duplicates a copy of every incoming request to one or more additional backend servers, without waiting for or returning their responses to the client. 
Visitors are always served by the primary backend exactly as before; the mirrored copies are processed in the background and their responses are discarded.

This is the classic shadow traffic (or traffic tee) pattern: you send real production traffic to a second server to validate, benchmark, analyse or debug it — with zero impact on your users.

Benefits

Use cases

How it works

For every request that reaches the site, the reverse proxy issues a background sub-request to each enabled mirror server. 

The key behaviours are:

Important — side effects. Because responses are discarded, mirroring is intended for observation or idempotent workloads. Be careful when mirroring to a backend that performs side effects (writes to a shared database, sends e-mails, charges payments…): every mirrored request triggers those effects a second time. For migration rehearsals, always point mirrors at an isolated copy of the data.

Configuring mirror servers

Open the reverse-proxy site you want to mirror and start the Mirroring panel. 

Mirroring panel listing the mirror servers of a site

For each mirror target the table shows:

Adding or editing a mirror server

Add / edit mirror server form

Changes are applied immediately: the site configuration is rebuilt and reloaded, and the target starts (or stops) receiving mirrored traffic within a few seconds. 
No service restart and no visitor interruption is required.

Removing a mirror server

Click the trash icon on the target’s row and confirm. 
The target stops receiving traffic immediately.