【问题标题】:Subscription queries in a multi-node environment多节点环境中的订阅查询
【发布时间】:2019-09-19 11:38:10
【问题描述】:

我们的轴突支持服务在多个节点上运行。我们的事件处理器正在跟踪(1 个段,因此在一个节点上处于活动状态)。如果我订阅节点 A 上的查询并且应该触发更新的事件在节点 B 上处理,节点 A 将错过这个。

这是设计使然,还是应该这样工作?我是否错误地配置了应用程序?

如果是前者,我们可以做些什么来以最符合 axon 惯用方式实现同​​样的功能? (目前我们直接轮询数据源/投影x秒)

【问题讨论】:

    标签: event-sourcing axon


    【解决方案1】:

    您使用的QueryBusSimpleQueryBus,它始终位于单个JVM 中。

    如果您需要QueryBus 的分布式版本,您应该转向使用Axon Server 作为在您的节点之间路由查询的集中方式。

    请注意,尽管您可以自己创建它,但人们已经尝试这样做(如框架上的this Pull Request 所示)并决定反对它,而支持在 Axon Server 中进行的优化。

    因此,简而言之,我假设您当前不包括 Axon Server 连接器。 因此,该框架为您提供了SimpleQueryBus,它确实被设计为不跨越多个节点。 最后,实现查询分布式路由的最快方法是使用 Axon Server。

    【讨论】:

    • 谢谢,我们一定会在这里检查 axon server 是否可以帮助我们。
    • 很高兴有帮助!让我(或 AxonIQ)知道我是否可以提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多