AWS SQS 適配器
運作方式
此適配器使用 AWS 簡易佇列服務 在 Socket.IO 叢集的節點間轉送訊息。
與現有的 socket.io-sqs
套件不同,此套件支援二進位酬載和動態命名空間。
此適配器的原始碼可在此處找到 here。
支援的功能
功能 | socket.io 版本 | 支援 |
---|---|---|
Socket 管理 | 4.0.0 | ✅ 是 (自版本 0.1.0 起) |
伺服器間通訊 | 4.1.0 | ✅ 是 (自版本 0.1.0 起) |
廣播並確認 | 4.5.0 | ✅ 是 (自版本 0.1.0 起) |
連線狀態復原 | 4.6.0 | ❌ 否 |
安裝
npm install @socket.io/aws-sqs-adapter
用法
import { SNS } from "@aws-sdk/client-sns";
import { SQS } from "@aws-sdk/client-sqs";
import { Server } from "socket.io";
import { createAdapter } from "@socket.io/aws-sqs-adapter";
const snsClient = new SNS();
const sqsClient = new SQS();
const io = new Server({
adapter: createAdapter(snsClient, sqsClient)
});
// wait for the creation of the SQS queue
await io.of("/").adapter.init();
io.listen(3000);
選項
名稱 | 說明 | 預設值 |
---|---|---|
topicName | SNS 主題名稱。 | socket.io |
topicTags | 要套用至新 SNS 主題的標籤。 | - |
queuePrefix | SQS 佇列的前綴字元。 | socket.io |
queueTags | 要套用至新 SQS 佇列的標籤。 | - |
heartbeatInterval | 兩次心跳之間的毫秒數。 | 5_000 |
heartbeatTimeout | 在我們視為節點已關閉前,沒有心跳的毫秒數。 | 10_000 |
最新版本
版本 | 發行日期 | 發行說明 | 差異 |
---|---|---|---|
0.1.0 | 2024 年 3 月 | 連結 | - |