当前位置: 首页 > 知识库问答 >
问题:

自动缩放Axon的跟踪事件处理器

危斯伯
2023-03-14
axon.eventhandling.processors[my_processor].initial-segment-count = 6
axon.eventhandling.processors[my_processor].thread-count = 3

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

理想情况下,它应该能够指定每个节点应该使用的线程数。之后,当新的节点添加到处理器中时,段的数量应该相应地扩大。类似地,如果我移除节点,段的数量应该会减少。这可能与轴突,或它不是设计成这样的缩放根本?

共有1个答案

江展
2023-03-14

您的部分的这种假设是完全正确的--在运行时,仅仅调整这些字段是不可伸缩的。这就是为什么我们引入了分裂和合并操作,以便在Axon应用程序的运行时分裂/合并段。请参见这个GitHub拉请求,以了解它在框架中的引入。

这个特性将是Axon 4.1的一部分,它将于今天发布。请注意,如果您只使用框架,该特性不会给您提供自动伸缩功能。它将需要从您的部分实现,利用提供的拆分和合并API,使其自动化。

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

 类似资料:
  • 目前我们正在使用Axon 2。我们想把Axon 2升级到4。我们使用Axon 2订阅带有重放选项的事件处理器。在Axon 4中,一个显著的区别是跟踪事件处理器。看来,跟踪处理器是重播的必备。有可能拥有订阅和跟踪事件处理器吗?有没有可能把跟踪处理器只用于重放,剩下的就不管了?还是必须改变整个结构?

  • 我是codiva的开发者。io是面向学生的java ide。我正在使用codemirror编辑器。我想跟踪编辑(特别是上次编辑后的暂停或超时)。我以前使用过谷歌分析,对于事件,我们将使用。现在我正在使用Google标签管理器,对于点击和其他事件,我们似乎可以使用标签管理器ui本身进行配置。使用tag manager,我无法找到如何对此实施跟踪。 Codemirror生成一个on Change事件。

  • 我使用axon和Spring-Boot实现了CQRS+ES应用程序。我使用单独的查询模型和命令模型应用程序。我使用rabbitmq从命令模式发布事件。它工作正确。但是跟踪处理器实现在我的应用程序中不工作。 这是yml配置 我怎么才能做正确。(有人能推荐教程或代码示例吗)

  • 如何读取自创建以来该聚合的所有事件?

  • 目前,我们使用三个嵌套的Foreach循环来获取运行批处理的信息。然而,我相当确定我们可以通过一个带有连接和子查询的MySQL语句来获取信息。 我们有大约30个类别,2000个用户。我们的目标是大约100个类别,拥有10万用户,尽管很明显Foreach循环并不理想(即使现在运行它们也需要大约一分钟)。 情况:用户希望得到通知,如果有工作可用于他们可以在某一领域做的贸易 目标:将批处理(每日、每周等