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

问题描述 投票:3回答:1

我正在使用带有Spring Boot的Axon framework 4.0.3进行事件源,并且有一个跟踪处理器配置为具有多个段/线程来同时处理事件:

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

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

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

理想情况下,它应该只能指定每个节点应该使用的线程数。之后,当新节点添加到处理器时,段的数量应相应地向上扩展。同样,如果删除节点,则段数应缩小。 Axon可以实现这一点吗,或者它的设计是不是按照这种方式进行缩放?

cqrs event-sourcing axon
1个回答
3
投票

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

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

另一方面,Axon Server在UI中为您提供了一个拆分/合并按钮,从而减轻了您自己构建它的必要性。我相当肯定Axon Server最终还会引入一个自动扩展解决方案,但不是4.1版本的一部分。

希望这能给你一些背景Archie!

© www.soinside.com 2019 - 2024. All rights reserved.