共用看板

Go 寫入 D1,接著該主題的 Durable Object 透過 hx-ws 將片段推送到每個開啟的分頁。

主題lobby
在另一個分頁開啟此頁面,然後修改一些內容。
…人在線上
71版本 226
hu

hello man

解决

Ggh

Vnn

看板的運作方式

  1. 每次變更都是一次表單提交,送往 Worker 上的 Go 處理常式。它會寫入 D1(Cloudflare 的 SQLite 資料庫,也是看板唯一的可信資料來源),並提高該主題的版本。
  2. 接著,處理常式會為每種語言各渲染一次完整的看板,交給該主題的 Durable Object,由它送到每個開啟的分頁。瀏覽器不做任何合併:每次推送都會取代整個看板。
  3. 分頁以 htmx 4 的 hx-ws 透過 WebSocket Hibernation 保持連線,因此一千個閒置的分頁在有變更之前幾乎不耗費任何資源。徽章會顯示目前有多少人在這裡。
  4. 每次推送都帶有產生時的版本。分頁會忽略比目前顯示的看板更舊的推送,因此在網路上交錯抵達的變更永遠不會倒退。
  5. 每個連線在 10 秒內最多可進行 60 次變更,每個主題最多可容納 1,000 個開啟的分頁。