没有Axon Server的企业,是否可以扩展Axon Framework?我有兴趣使用Axon创建原型CQRS应用程序,但最终的可部署系统必须免费获得许可费用。如果使用免费软件无法将Axon Framework扩展到六个节点,那么我应该去找别的地方。

如果事实证明Axon Framework不是该系统的理想选择,那么您会推荐什么?在Apache Pulsar周围构建一些东西是否是明智的选择?

最佳答案

我想那对你有个好消息。
您可以在没有Axon Server Enterprise的情况下完美地利用Axon Framework。

首先,您可以使用Axon Server Standard版本,该版本完全免费,您也可以根据需要签出代码。
如果您希望重新掌握基础架构,还可以选择其他方法来分发CommandBusEventBus / EventStore

对于CommandBus,框架提供了实现两种实现的DistributedCommandBus:

  • JGroups
  • Spring Cloud

  • 我认为选项2是分发命令的最理想选择,因为它使您可以自由选择所需的任何Spring Cloud Discovery Service实现。这应该使您能够在该区域“免费获得许可”。

    为了分发事件,您可以大致研究两种方法:
  • 在所有实例中共享数据库,也就是您的EventStore
  • 使用事件消息总线分发事件消息

  • 如果希望节点的实例能够为命令模型提供事件源,则倾向于使用选项1。这是必需的,因为Axon Framework需要专用的EventStore才能从历史记录中获取命令模型。

    当您只想将其他应用程序连接到事件流时,选项2将是一个很好的选择。再次,该框架在这一领域有两个选择:
  • AMQP
  • Kafka

  • 另外,我想在这一部分指出的唯一一点是,Kafka扩展程序仍处于候选发布状态。目前,它正在积极进行中。

    所有这些扩展名和选项都应该在Reference Guide中明确说明,因此,如果您要启动应用程序,我一定会查阅本文档。

    不过,您无法分发的唯一内容是QueryBus
    有一个出色的issue可以解决此问题,为此有人努力提供PR
    在了解了Axon Server Standard Edition的工作方式之后,他特意关闭了PR(使用以下comment),因为在此阶段维护这样的工具似乎不可行。

    因此,您可以在没有Axon Server Enterprise的情况下使用Axon Framework吗?
    好吧,我想你可以。 :-)
    请注意,尽管如果您不使用Axon Server Enterprise也可以在不收取许可费的情况下获胜,但这并不意味着您的产品将免费。
    您将介绍一些基础架构设置和生产时间,以实现此目标。

    希望这给您@ahoffer大量的反馈!

    10-01 18:58