INTEGRITY Dokumentace

Škálování a směrování

Škálování instancí kontejneru pomocí explicitních ID

V současnosti se Containers škálují ručně tak, že získáte kontejner s jedinečným ID a poté ho spustíte. Získání kontejneru ho automaticky nespouští.

// get and start two container instances
const containerOne = getContainer(
	env.MY_CONTAINER,
	idOne,
).startAndWaitForPorts();

const containerTwo = getContainer(
	env.MY_CONTAINER,
	idTwo,
).startAndWaitForPorts();

Každá instance poběží, dokud její sleepAfter doby, nebo dokud jej ručně nezastavíte.

Toto chování je velmi užitečné, pokud chcete mít nad životním cyklem instancí kontejnerů plnou kontrolu. Můžete tak například spustit backendovou instanci kontejneru pro konkrétního uživatele, krátce spustit sandbox pro izolaci kódu vygenerovaného AI, nebo spustit krátkodobou dávkovou úlohu.

Použijte getRandom pomocná funkce

Pokud chcete spustit více instancí kontejneru a rozdělovat mezi ně požadavky, použijte getRandom pomocná funkce:

import { Container, getRandom } from "@cloudflare/containers";

const INSTANCE_COUNT = 3;

class Backend extends Container {
	defaultPort = 8080;
	sleepAfter = "2h";
}

export default {
	async fetch(request: Request, env: Env): Promise<Response> {
		const containerInstance = await getRandom(env.BACKEND, INSTANCE_COUNT);
		return containerInstance.fetch(request);
	},
};

Použijte getRandom ke směrování na více bezstavových instancí kontejneru. Pro každý požadavek náhodně vybere jednu z N instancí, což znamená:

Tyto problémy plánujeme v blízké budoucnosti vyřešit pomocí vestavěných funkcí automatického škálování a směrování.