【发布时间】:2021-01-08 14:25:16
【问题描述】:
我正在搜索 Kinesis Data Streams 的文档,但找不到像
这样的明确声明Kinesis 保证至少一次交货
从生产者方面,我希望发送的消息会传播到多个节点(类似于 Kafka 的 ack=all) 从消费者方面来看,我期望消费者成功处理后的 Kafka 提交偏移量,或者类似于 Google Cloud 的 Pub/Sub 消息确认。
Kinesis 是否有提交消息保证? Kinesis 是否有处理保证(仅在处理并确认已处理后将消息标记为只读)
【问题讨论】:
-
如果您追求 Kafka 功能,为什么不使用 AWS MSK?
-
我更喜欢尽可能接近无服务器。我知道 MSK 解决了 Zookeeper 和 Kafka 的痛点,但我希望 Kafka 提供更无缝的东西。
-
我认为这里有些混乱。 Kinesis 不是发布/订阅类型系统。在 AWS 中,这是由 SNS 提供的。因此,消费者没有任何处理或正在读取消息的确认。
-
知道了。因此,它更像是将消息存储在 kinesis 节点上。然后,一旦您启动了消费者,消费者将阅读它请求的所有消息,消费者有责任跟踪它处理或未处理的消息。
-
是的。更重要的是,您无法从 kinesis 中删除消息。它们会一直留在那里直到过期,因此可以随时被许多消费者多次阅读。
标签: amazon-web-services messaging amazon-kinesis