我有一个Amazon Kinesis流,由多个分片组成。分片的数量以及消费者的数量不是常量。
有一种不常见的事件类型,我希望将其广播给流中的每个消费者。
制作人有没有办法广播一个记录,比如发现分片并将记录放在每个分片上?
发布于 2018-05-22 13:36:28
你能做到的!有点..。
技巧是使用参数"ExplicitHashKey“。
这允许您设置用于记录的散列键,因此允许您选择数据正在进行的分片。
然后,您可以调用
aws kinesis describe-stream --stream-name name-of-your-stream获取每个分片的信息,包括每个分片覆盖的散列范围。
然后,您只需要将数据发送到每个分片(使用PutRecord或PutRecords),一切都设置好了。
不幸的是,没有“广播”,但是您可以很容易地编写一个Lambda,使用ExplicitHashKey参数将相同的数据发送到每个分片。
另一种解决方案是使用单独的流,并写入每个流。
https://stackoverflow.com/questions/34883551
复制相似问题