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月 | リンク | - |