每次连接WebSocket客户端时,WebSocket API(API网关)都会连接到Redis(集群)

时间:2020-10-30 10:14:03

标签: websocket redis aws-api-gateway

我正在使用API​​ Gateway(WebSocket API)和Redis(Elasticache) pub / sub。

开发聊天服务器。

我有一些问题。

  1. 当许多客户端尝试连接到API网关(WebSocket API)时,API网关(WebSocket API)将是安全的吗?
  2. 如果好,如果我使用lambda函数,如何共享Redis客户端实例对象的所有WebSocket API路由键。 我的意思是,我只想初始化Redis(集群)客户端实例一次,以便共享此Redis集群实例的所有连接。

赞:

const Redis = require('ioredis');
var cluster = new Redis.Cluster([
    {
        port: 6379,
        host: <my-elasticache-host>
    }
]);

在此功能下,我想对所有路由键($ connect,$ disconnect和我的自定义操作)使用“ cluster”实例。但是我每创建一个连接时间就创建一个。 我认为此问题将发生与Redis连接限制(65000)有关的问题。

  1. 如何在lambda函数之间的每个连接中共享一些变量。 我正在使用Redis客户端来使用Redis发布/订阅。因此,当客户端连接到WebSocket时,我将创建Redis客户端实例。如果没有,那么每次WebSocket收到消息时,我都会创建Redis客户端实例。

我在等你的提示。

0 个答案:

没有答案