工程開發
qstash-js avatar

qstash-js

使用官方 Upstash QStash JavaScript/TypeScript SDK 來管理無伺服器訊息傳遞、任務排程與 Webhook 驗證。

簡介

QStash JavaScript SDK 是開發者在無伺服器與邊緣運算平台上構建事件驅動應用程式的強大工具。它作為一個基於 HTTP 的穩健訊息代理,讓您能解耦服務、排程延遲或週期性的背景任務,並在 Vercel、Cloudflare Workers、Next.js 和 Node.js 等環境中管理複雜的訊息傳遞流程。透過整合 QStash,您無需自行維護複雜的基礎設施,即可仰賴此無狀態服務處理重試、投遞保證與訊息持久化。

  • 發送 HTTP 請求到特定端點或託管的 URL 群組,以簡化路由管理。

  • 為定期事件或延遲訊息傳遞建立靈活的任務排程。

  • 實作具備可配置平行處理能力的 FIFO 佇列,以控制高吞吐量的工作負載。

  • 使用 Receiver 類別透過加密簽章驗證傳入的 Webhook 請求,確保端點僅處理受信任的流量。

  • 支援高階訊息傳遞模式,包括無效訊息佇列 (DLQ)、自動訊息去重以及非同步結果的自訂回調處理。

  • 輕量化設計,原生支援邊緣執行時期 (Edge Runtimes) 及各類現代框架,如 SvelteKit、Nuxt 與 SolidJS。

  • 若要開始使用,請使用您的 QSTASH_TOKEN 初始化客戶端,並使用 publishJSON 等方法發送資料。

  • 務必在處理函數中實作 Receiver.verify 來驗證傳入的 Webhook 簽章,以確保安全性。

  • 利用 URL 群組功能高效管理多個下游目標,無需頻繁更新應用程式代碼。

  • 請注意此 SDK 與 @upstash/workflow 函式庫不同;請針對訊息傳遞與排程任務使用此 SDK,若需複雜的多步驟狀態編排,請改用 Workflow。

  • 確保環境配置包含正確的簽章金鑰(目前與下一個金鑰),以利於無停機的輪替作業。

  • 遙測數據預設為啟用狀態;若要停用,可設定 UPSTASH_DISABLE_TELEMETRY 環境變數或在客戶端選項中進行設定。

倉庫統計

Star 數
265
Fork 數
29
Open Issue 數
11
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月3日 下午05:50
在 GitHub 查看