← Containers / containers / platform-details
Š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á:
- Vyžaduje, aby uživatel nastavil pevný počet instancí, mezi které se má směrovat.
- Každou instanci vybere náhodně bez ohledu na umístění.
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í.