← Cloudflare Workers / workers / tutorials
Nasaďte chatovací aplikaci v reálném čase
V tomto tutoriálu nasadíte bezserverovou chatovací aplikaci v reálném čase, která běží na Durable Objects.
Tato chatovací aplikace používá Durable Object k řízení každé chatovací místnosti. Uživatelé se k objektu připojují pomocí WebSockets. Zprávy od jednoho uživatele se odesílají všem ostatním uživatelům. Historie chatu se také ukládá do trvalého úložiště. Zprávy v reálném čase se předávají přímo od jednoho uživatele k druhému, aniž by procházely vrstvou úložiště.
Než začnete
Všechny návody předpokládají, že jste již dokončili Úvodní návod, který vás provede nastavením účtu Cloudflare Workers, C3 ↗, a Wrangler.
Naklonujte repozitář chatovací aplikace
Otevřete terminál a naklonujte workers-chat-demo ↗ repozitář:
git clone https://github.com/cloudflare/workers-chat-demo.gitOvěření Wrangleru
Jakmile naklonujete repozitář, ověřte Wrangler spuštěním:
npx wrangler loginNasaďte svůj projekt
Jakmile budete připraveni aplikaci nasadit, spusťte:
npx wrangler deployVaše aplikace se nasadí do vašeho *.workers.dev subdoména.
Chcete-li nasadit aplikaci na vlastní doménu v Cloudflare dashboardu, přejděte na svůj Worker > Triggery > Add Custom Domain.
Chcete-li nasadit aplikaci na vlastní doménu pomocí Wrangler, otevřete v projektu Konfigurační soubor Wrangler.
Chcete-li nakonfigurovat trasu v konfiguračním souboru Wrangler, přidejte do svého prostředí následující:
{
"routes": [
{
"pattern": "example.com/about",
"zone_id": "<YOUR_ZONE_ID>"
}
]
}[[routes]]
pattern = "example.com/about"
zone_id = "<YOUR_ZONE_ID>"Pokud jste zone ID zadali v prostředí konfiguračního souboru Wrangler, nemusíte ho znovu zapisovat ve formě objektu.
Chcete-li nakonfigurovat subdoménu v konfiguračním souboru Wrangler, přidejte do svého prostředí následující:
{
"routes": [
{
"pattern": "subdomain.example.com",
"custom_domain": true
}
]
}[[routes]]
pattern = "subdomain.example.com"
custom_domain = trueChcete-li otestovat živou aplikaci:
-
V dashboardu Cloudflare přejděte na Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
Vyberte svůj Worker > Triggery > Trasy > Vyberte
edge-chat-demo.<SUBDOMAIN>.workers.devtrasa. -
Zadejte název do pole vaše jméno .
-
Zvolte, zda chcete vstoupit do veřejné místnosti, nebo vytvořit soukromou.
-
Odešlete odkaz ostatním účastníkům. Účastníky místnosti uvidíte na pravé straně obrazovky.
Odinstalujte aplikaci
Chcete-li odinstalovat chatovací aplikaci, upravte soubor Wrangler tak, abyste odebrali durable_objects bindingy a přidejte deleted_classes migrace:
{
"durable_objects": {
"bindings": []
},
// Indicate that you want the ChatRoom and RateLimiter classes to be callable as Durable Objects.
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": [
"ChatRoom",
"RateLimiter"
]
},
{
"tag": "v2", // Should be unique for each entry
"deleted_classes": [
"ChatRoom",
"RateLimiter"
]
}
]
}[durable_objects]
bindings = [ ]
[[migrations]]
tag = "v1"
new_sqlite_classes = [ "ChatRoom", "RateLimiter" ]
[[migrations]]
tag = "v2"
deleted_classes = [ "ChatRoom", "RateLimiter" ]Poté spusťte npx wrangler deploy.
Chcete-li odstranit svůj Worker:
-
V dashboardu Cloudflare přejděte na Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
V Přehled, vyberte svého Workera.
-
Vyberte Správa služby > Smazat. Úplné pokyny k nastavení a odstranění najdete v
README.mdve vašem naklonovaném repozitáři.
Dokončením tohoto tutoriálu jste nasadili chatovací aplikaci v reálném čase pomocí Durable Objects a Cloudflare Workers.
Související zdroje
Pokračujte ve vývoji s dalšími tutoriály pro Cloudflare Workers níže.