Running Workloads
Regions
Choose the region a Rivet Actor runs in on Rivet Cloud, and how regions work when you self-host.
A Rivet Actor lives in one region for its lifetime, and its data stays in that region.
Region selection on Rivet Cloud
By default, a Rivet Actor is created in the region nearest the client. Override the region at create time:
import { createClient } from "rivetkit/client";
import { actor, setup } from "rivetkit";
const example = actor({ state: {}, actions: {} });
const registry = setup({ use: { example } });
const client = createClient<typeof registry>("http://localhost:6420");
// Create actor in a specific region using getOrCreate
const actorHandle = client.example.getOrCreate(["my-actor"], {
createInRegion: "atl"
});
See Actor-Actor Communication for the full set of create options.
Where a Rivet Actor stays
A Rivet Actor does not move between regions. Reads and writes to its data never cross a region boundary. A call between Rivet Actors in different regions goes over the network, so treat it like any other remote call.
Self-hosting
A self-hosted control plane runs in one region. Multi-region self-hosting is coming.