gpt4 book ai didi

redis - 我如何使用三叉戟拓扑将元组写入redis和cassandra

转载 作者:IT王子 更新时间:2023-10-29 06:01:35 25 4
gpt4 key购买 nike

我正在编写一个 Trident 拓扑来处理来自 Kafka 的数据流并输入到 Redis 和 Cassandra。我能够将数据写入 Cassandra。现在我想将相同的数据写入 Redis。

有没有一种方法可以复制元组并将其分成两个流,一个进入 Redis,另一个进入 Cassandra?

最佳答案

对于三叉戟,你可以这样使用:

TridentTopology topology = new TridentTopology();
Stream stream = topology.newStream("MySpout", spout);
stream.partitionPersist(...); // to Redis
stream.partitionPersist(...); // to Cassandra

因此它将并行地将流中的数据保存到两个数据库。

不过,我还认为,是否应该在单个拓扑中完成此类并行操作,或者让两个不同的拓扑读取同一主题是否更好。想象一下 Cassandra 集群宕机。在两种拓扑的情况下,您仍然可以继续将数据保存到 Redis。但是,如果只有一个拓扑,每个未能进入 Cassandra 的元组很可能会导致 FailedException 触发重放,并且元组的每个后续重放都将不必要地再次将元组保存到 Redis。

关于redis - 我如何使用三叉戟拓扑将元组写入redis和cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31475332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com