AWS SQS 适配器
工作原理
此适配器使用 AWS 简单队列服务 在 Socket.IO 集群的节点之间转发消息。
与现有的 socket.io-sqs
包不同,此包支持二进制有效负载和动态命名空间。
此适配器的源代码可以在 这里 找到。
支持的功能
功能 | socket.io 版本 | 支持 |
---|---|---|
套接字管理 | 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 月 | 链接 | - |