gpt4 book ai didi

apache-kafka - Apache Kafka 中的事件外包

转载 作者:行者123 更新时间:2023-12-02 22:30:26 24 4
gpt4 key购买 nike

使用 Kafka 作为事件存储效果很好,很容易将消息保留设置为无限制。

但我也看到过一些关于 Kafka 也被用于事件溯源的报告。这就是我对这如何可能感到困惑的地方。作为一个事件商店,我可以将我的消息塞进去。并根据需要使用或重播。

但是对于事件溯源,您很可能希望读取给定实体/聚合 ID 的事件。您当然可以使用分区,但这似乎滥用了这个概念,并且很难实际添加新实体,因为分区计数更多地位于静态方面,即使您可以更改它。有没有明智的解决方案?Apache Kafka 文档本身仅简要提及事件溯源。

最佳答案

关于您对其他问题的评论:

Thanks for the effort here, the answer is pretty off topic though. "Is it what you want to express really?" No. The question is not about DDD nor CQRS. I'm well familiar with those. I'm asking how or if I can use Kafka for eventsouring. Lets say I have 10 million entities, I might not want to have them all loaded in memory across servers at once. Can I load the data for a single aggregate using Kafka w/o replaying everything ?

答案是肯定的:您可以使用Kafka Streams来处理事件。您的流逻辑生成聚合并将它们存储在本地状态存储 (RocksDB) 中,以便生成的聚合不需要位于内存中,并且无需重播所有事件即可访问。您可以使用 Interactive Queries API 访问这些聚合。 。相当不错!此时,编写可重播的事件处理逻辑是 easier said than done ,但无论如何也不是不可能。

关于apache-kafka - Apache Kafka 中的事件外包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41245092/

24 4 0