使用无服务器基础设施从套接字捕获数据



我有许多用户,每个用户都有一个状态,当状态为1时,我想连接到他们自己的套接字并将信息存储在任何DB上。

套接字是相同的url,但根据发送的user_id,我得到不同的信息。

多个用户可以同时拥有状态1,甚至数千个用户。

我已经创建了一个EC2与多个并行Nodejs脚本监听所有的时间和检查每个用户在DB,当用户是状态1,脚本连接到套接字,并开始保存DB上的所有信息。

问题是:如果我没有任何状态为0的用户,我就会损失很多钱,因为服务器太大了,而且当用户数量超过预期时,EC2也会下降。

现在我正在寻找一个可能的自动管理解决方案,可以在AWS或任何其他云服务上,问题是我想要一个服务,可以很容易地连接到套接字和扩展。

仅供参考:脚本将连接到套接字几个小时获取信息,这就是为什么我不能使用lambda函数连接到套接字并读取事件。

谢谢。

将所有计算进程拉入lambda,然后通过EventBridge (bio -directional)与之通信。这将有助于排队/管理/死信所有消息-释放您的WS用于纯粹的数据传输任务。

import * as AWS from 'aws-sdk'
AWS.config.update({
accessKeyId: 'AXXXXXX',
secretAccessKey: 'SXXXXXXXXX',
region: 'eu-west-2',
})
const eventbridge = new AWS.EventBridge()
const params = {}
eventbridge.putEvents(params).promise()

最新更新