gpt4 book ai didi

amazon-web-services - Amazon SNS 发送通知所用时间过长

转载 作者:行者123 更新时间:2023-12-05 06:42:01 25 4
gpt4 key购买 nike

我在 Amazon Web Services 中部署了一个后端。我在使用 SNS 推送通知时遇到性能问题。我已经使用 Firebase 的 API key 注册了一个应用程序。

当我使用“发布到端点”按钮测试来自 SNS 控制台的通知时,消息传递速度非常快:

{
"GCM": "{ \"data\": { \"message\": \"Hello world\" } }"
}

但是,当我使用 Lambda 函数使用适用于 Java 的 SNS Api 推送通知时,消息最多需要 30 分钟才能到达。所以我尝试使用 Firebase 的“优先级”参数使消息更快到达,现在最多需要 5 分钟。

{
"GCM": "{ \"priority\": \"high\", \"data\": { \"message\": \"Hello world\" } }"
}

由于这些通知是在游戏过程中推送的,对于一个用户来说,延迟 5 分钟获得游戏更新真的很烦人。假设一个玩家开始行动,另一个玩家注意到 2 分钟后轮到他了,但他在 3 分钟后收到关于他已经玩过的游戏的游戏更新通知,所以他会生气。

对于所有这些通知,我使用的 TTL(生存时间)为 172,800 秒(2 天)。我可以做些什么来提高性能?

最佳答案

我发现了问题。因为我使用线程来推送通知,所以执行被推迟了。

看起来 Lambda 在 handleRequest() 方法完成后暂停了任何线程的执行。我在 DynamoDB 中使用线程更新对象时遇到了同样的问题。

我的建议是仅将线程用于多任务作业,但保证 handleRequest() 仅在所有线程完成后才到达 return 语句。

关于amazon-web-services - Amazon SNS 发送通知所用时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38604315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com