AWS SQS アダプター
仕組み
このアダプターは、AWS Simple Queue Service を使用して、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 | 2 つのハートビート間の間隔 (ミリ秒)。 | 5_000 |
heartbeatTimeout | ハートビートがない状態でノードがダウンしているとみなすまでの時間 (ミリ秒)。 | 10_000 |
最新のリリース
バージョン | リリース日 | リリースノート | 差分 |
---|---|---|---|
0.1.0 | 2024年3月 | リンク | - |