我有一个Amazon Kinesis流,包含多个分片。碎片的数量,以及消费者的数量,不是一个常数。
有一种不常见的事件类型,我希望广播给流媒体上的每个消费者。
生产者是否有办法广播一条记录,即发现分片并将记录放在每一条记录上?
答案 0 :(得分:0)
你可以这样做!有点......
使用参数“ExplicitHashKey”的技巧。
这使您可以设置用于记录的哈希键,因此可以选择数据的分片。
然后你可以打电话
aws kinesis describe-stream --stream-name name-of-your-stream
获取有关每个分片的信息,包括每个分片涵盖的哈希范围。
然后你只需要将数据发送到每个分片(使用PutRecord或PutRecords),你就可以了。
不幸的是,没有“广播”,但您可以轻松编写Lambda,使用ExplicitHashKey参数将相同的数据发送到每个分片。
另一个解决方案是使用单独的流并写出每个流。