INTEGRITY Dokumentace

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.git

Ověření Wrangleru

Jakmile naklonujete repozitář, ověřte Wrangler spuštěním:

npx wrangler login

Nasaďte svůj projekt

Jakmile budete připraveni aplikaci nasadit, spusťte:

npx wrangler deploy

Vaš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 = true

Chcete-li otestovat živou aplikaci:

  1. V dashboardu Cloudflare přejděte na Workers & Pages stránce.

    Přejděte na Workers & Pages ↗
  2. Vyberte svůj Worker > Triggery > Trasy > Vyberte edge-chat-demo.<SUBDOMAIN>.workers.dev trasa.

  3. Zadejte název do pole vaše jméno .

  4. Zvolte, zda chcete vstoupit do veřejné místnosti, nebo vytvořit soukromou.

  5. 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:

  1. V dashboardu Cloudflare přejděte na Workers & Pages stránce.

    Přejděte na Workers & Pages ↗
  2. V Přehled, vyberte svého Workera.

  3. Vyberte Správa služby > Smazat. Úplné pokyny k nastavení a odstranění najdete v README.md ve 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.

Pokračujte ve vývoji s dalšími tutoriály pro Cloudflare Workers níže.