【发布时间】:2017-02-07 19:23:15
【问题描述】:
我需要在高峰时每秒处理 100 条记录。这些记录是简单的 JSON 主体,应该收集它们,然后处理/转换为数据库。
几个问题...
1) Kinesis 适合这个吗?还是 SQS 更适合?
2) 使用 kinesis 时,我是否要使用此处所示的 python 示例:https://aws.amazon.com/blogs/big-data/snakes-in-the-stream-feeding-and-eating-amazon-kinesis-streams-with-python/ 还是应该在 KCL 中实现我的生产者和消费者?有什么区别?
3) Kinesis 是否为消费者的管理提供任何服务,还是我只是在 EC2 实例上运行它们并自己管理它们?
4) 访问数据的正确模式是什么 - 我不能错过任何记录,所以我假设我将从“TRIM_HORIZON”而不是“LATEST”获取记录。如果是这样,我如何管理重复项?换句话说,我的消费者如何从流中获取记录并处理宕机的消费者等,并且始终知道他们正在获取所有记录?
谢谢!
【问题讨论】:
-
你打算做什么样的处理?您是否关心维护其顺序的消息?
-
嘿 - 消息不必维护顺序,我将由消费者执行的唯一处理是转换为不同的格式并转发到另一个服务。
标签: python amazon-web-services amazon-kinesis amazon-kinesis-firehose amazon-kcl