12

是否可以在没有 Axon Server Enterprise的情况下扩展 Axon Framework ?我有兴趣使用 Axon 创建原型 CQRS 应用程序,但最终的可部署系统必须免收许可费。如果 Axon Framework 不能使用免费软件扩展到六个节点,那么我可能应该寻找其他地方。

如果 Axon Framework 最终不是系统的好选择,您会推荐什么?围绕 Apache Pulsar 构建一些东西会是一个明智的选择吗?

4

1 回答 1

21

我想我有好消息要告诉你。您可以在没有 Axon Server Enterprise 的情况下完美地使用 Axon Framework。

首先,您可以使用完全免费的 Axon Server 标准版,如果需要,您也可以查看代码。如果您希望将基础架构重新掌握在自己手中,您还可以选择不同的方法来分发CommandBusEventBus/ EventStore

对于CommandBus框架提供了DistributedCommandBus两个实现,分别是:

  1. JGroups
  2. 春云

我认为选项 2 是分发命令的最理想选择,因为它使您可以自由选择所需的任何 Spring Cloud Discovery Service 实现。这应该为您提供在该区域“无许可证”工作的句柄。

为了分发您的事件,您可以大致了解两种方法:

  1. EventStore在所有实例之间共享数据库,也就是你的
  2. 使用事件消息总线分发您的事件消息

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

当您只想将其他应用程序连接到您的 Event Stream 时,选项 2 将非常适合。同样,该框架在这方面有两个选择:

  1. AMQP
  2. 卡夫卡

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

所有这些扩展及其选项都应在参考指南中明确说明,因此如果您要启动应用程序,我肯定会查看此文档。

但是,您无法分发唯一的东西,那就是QueryBus. 有一个悬而未决的问题需要解决,为此有人努力提供PR。不过,在看到 Axon Server 标准版是如何做到的之后,他故意关闭了 PR(带有以下评论),因为在这个阶段维护这样一个工具对他来说似乎并不可行。

那么,您可以在没有 Axon Server Enterprise 的情况下使用 Axon Framework 吗?嗯,我想你可以。:-) 不过请注意,虽然如果您不使用 Axon Server Enterprise,您会因为没有许可费而获胜,但这并不意味着您的生产将是免费的。您将引入相当多的基础设施设置和生产时间来实现这一目标。

希望这能给你很多反馈@ahoffer!

于 2019-10-15T07:49:13.240 回答