在 aws 上处理会话流
Process a stream of sessions on aws
有没有办法在 aws 上用 lambda 实现类似 Flink 的 session-window 和一些管理消息的方法?
我们有一个带有会话 ID 的小事件流。我们不能保证到达事件的顺序,我们并不总是有会话结束的事件。我们知道会话 ID 是唯一的。我们还知道,会话结束后不会重新启动。我们还知道,当会话处于活动状态时,我们将每分钟左右收到一条消息。我们需要将整个会话作为一个整体来处理。
我们要等待 X 分钟的静默时间,如果没有消息到达,我们将把整个会话作为一个整体来处理。
这正是 Flink 的 silent window 所做的,有没有办法完全使用 aws lambda 和它的触发器来做同样的事情?
同时可以有几十万个会话
使用 AWS Lambda 是不可能的。
Lambda 是无状态的,它们能够一条一条地处理消息,但不能对一系列消息提供任何处理,而这对于您描述的那种窗口逻辑来说是必需的。
也许您可以选择 Kinesis Data Analytics?在引擎盖下,这个实际上是 Flink,虽然它是由 AWS 作为托管服务提供的,所以也许你会得到你正在寻找的“类似 lambda”的体验?
有没有办法在 aws 上用 lambda 实现类似 Flink 的 session-window 和一些管理消息的方法?
我们有一个带有会话 ID 的小事件流。我们不能保证到达事件的顺序,我们并不总是有会话结束的事件。我们知道会话 ID 是唯一的。我们还知道,会话结束后不会重新启动。我们还知道,当会话处于活动状态时,我们将每分钟左右收到一条消息。我们需要将整个会话作为一个整体来处理。 我们要等待 X 分钟的静默时间,如果没有消息到达,我们将把整个会话作为一个整体来处理。 这正是 Flink 的 silent window 所做的,有没有办法完全使用 aws lambda 和它的触发器来做同样的事情?
同时可以有几十万个会话
使用 AWS Lambda 是不可能的。
Lambda 是无状态的,它们能够一条一条地处理消息,但不能对一系列消息提供任何处理,而这对于您描述的那种窗口逻辑来说是必需的。
也许您可以选择 Kinesis Data Analytics?在引擎盖下,这个实际上是 Flink,虽然它是由 AWS 作为托管服务提供的,所以也许你会得到你正在寻找的“类似 lambda”的体验?