我已经通过流将lambda连接到DyDB表。当记录写入表时,它会触发lambda。交通非常繁忙,所以暂时什么也不会发生,然后我会写几千张唱片。
我看到的是一些lambda实例将被触发,但不足以处理突发事件。然后,在随机时间,lambda实例的数量将跳升一个或两个数量级(从2到90或更多),并将迎头赶上。问题是跳跃可能在30分钟或更长时间内不会发生。
我看到记录写在桌子上很快(秒)。lambda对20条记录的处理不应超过2分钟。似乎兰巴达一家大部分时间都坐在那里等待唱片的出现。表的记录键是GUID。
我试过的东西
是否有更好的模式可供使用?我应该跳过流,只写SNS消息吗?我不在乎秩序,但我宁愿不做一次以上的工作。
发布于 2018-10-18 16:49:55
这就是我发现的。
看起来问题在于lambda实例对DynamoDB流的争用。
我的解决方案是跳过DynamoDB流,而不是使用它,并将其发布到SNS队列中。蓝宝石们接收到了信息,并且扩展得更好了。时间已经从几个小时变成了几秒钟。
https://stackoverflow.com/questions/52844501
复制相似问题