在 Kinesis Streams 中处理不同的事件类型

Handling different event types in Kinesis Streams

来自 AMQP 背景,如果我有一个创建小部件的应用程序,我会为我的事件创建路由键,例如 widget.createdwidget.updated。然后我可以让队列绑定到他们需要的事件。因此,如果我想在创建小部件时执行某些操作,我将绑定到 widget.created.

使用 Kinesis 流时是否有与此等效的内容?我可以看到两种可能的方式(为每种事件类型使用单独的流或 运行 一个查看每个事件并决定执行什么操作的 Lambda 函数)但想知道我是否遗漏了什么。

最后,我认为 SNS + SQS 组合比 Kinesis 更适合替代 AMQP。每个服务发布到自己的 SNS 主题,然后我为每个消费者使用一个 SQS 队列,这样每条消息都可以被不同的 Lambda 函数使用。

Kinesis 非常适合将大量数据推送给少数消费者(每个流最多 5 个),但我不希望这种限制在未来影响我。