gpt4 book ai didi

cqrs - 自动扩展 Axon 的跟踪事件处理器

转载 作者:行者123 更新时间:2023-12-01 13:15:53 25 4
gpt4 key购买 nike

我正在将 Axon 框架 4.0.3 与 Spring Boot 一起使用以进行事件溯源,并且有一个跟踪处理器配置为具有多个段/线程以同时处理事件:

axon.eventhandling.processors[my_processor].initial-segment-count = 6
axon.eventhandling.processors[my_processor].thread-count = 3

这意味着有 2 个 my_processor 节点,每个节点使用 3 个线程。

但是,此解决方案的问题在于它不可扩展。我必须从一开始就知道我必须有多少节点和线程,因为以后不可能更改它:如果我增加 initial-segment-count 并重新启动处理器,什么也不会发生。更糟糕的是,如果我减少段数:永远不会处理用于“已删除”段的事件!

理想情况下,它应该能够指定每个节点应该使用的线程数。之后,当新节点添加到处理器时,段数应相应增加。同样,如果我删除节点,段数应该按比例减少。这对 Axon 来说是可能的,还是它根本就没有设计成以这种方式缩放?

最佳答案

您的这个假设是完全正确的 - 只是调整这些字段是不可扩展的,在运行时。这正是我们引入拆分和合并操作的原因,以便在 Axon 应用程序运行时拆分/合并段。参见 this将其引入框架的 GitHub 拉取请求。

此功能将成为今天发布的 Axon 4.1 的一部分。请注意,如果您仅使用框架,此功能不会为您提供自动缩放。它将需要您的部分实现,利用提供的拆分和合并 API 使其自动化。

Axon Server另一方面,在 UI 中为您提供了一个拆分/合并按钮,从而使您不必自己构建它。我相当确定 Axon Server 最终也会引入自动缩放解决方案,但不会作为 4.1 版的一部分。

希望这能给你一些阿奇的背景知识!

关于cqrs - 自动扩展 Axon 的跟踪事件处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55121228/

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