是否可以在没有 Axon Server Enterprise的情况下扩展 Axon Framework ?我有兴趣使用 Axon 创建原型 CQRS 应用程序,但最终的可部署系统必须免收许可费。如果 Axon Framework 不能使用免费软件扩展到六个节点,那么我可能应该寻找其他地方。
如果 Axon Framework 最终不是系统的好选择,您会推荐什么?围绕 Apache Pulsar 构建一些东西会是一个明智的选择吗?
是否可以在没有 Axon Server Enterprise的情况下扩展 Axon Framework ?我有兴趣使用 Axon 创建原型 CQRS 应用程序,但最终的可部署系统必须免收许可费。如果 Axon Framework 不能使用免费软件扩展到六个节点,那么我可能应该寻找其他地方。
如果 Axon Framework 最终不是系统的好选择,您会推荐什么?围绕 Apache Pulsar 构建一些东西会是一个明智的选择吗?
我想我有好消息要告诉你。您可以在没有 Axon Server Enterprise 的情况下完美地使用 Axon Framework。
首先,您可以使用完全免费的 Axon Server 标准版,如果需要,您也可以查看代码。如果您希望将基础架构重新掌握在自己手中,您还可以选择不同的方法来分发CommandBus
和EventBus
/ EventStore
。
对于CommandBus
框架提供了DistributedCommandBus
两个实现,分别是:
我认为选项 2 是分发命令的最理想选择,因为它使您可以自由选择所需的任何 Spring Cloud Discovery Service 实现。这应该为您提供在该区域“无许可证”工作的句柄。
为了分发您的事件,您可以大致了解两种方法:
EventStore
在所有实例之间共享数据库,也就是你的如果您希望节点的实例能够从事件源获取命令模型,则倾向于使用选项 1。这是必需的,因为 Axon 框架需要专用EventStore
的能够从历史中获取命令模型。
当您只想将其他应用程序连接到您的 Event Stream 时,选项 2 将非常适合。同样,该框架在这方面有两个选择:
另外,我想在这部分指出的唯一一件事是 Kafka 扩展仍处于候选发布状态。不过,它目前正在积极进行中。
所有这些扩展及其选项都应在参考指南中明确说明,因此如果您要启动应用程序,我肯定会查看此文档。
但是,您无法分发唯一的东西,那就是QueryBus
. 有一个悬而未决的问题需要解决,为此有人努力提供PR。不过,在看到 Axon Server 标准版是如何做到的之后,他故意关闭了 PR(带有以下评论),因为在这个阶段维护这样一个工具对他来说似乎并不可行。
那么,您可以在没有 Axon Server Enterprise 的情况下使用 Axon Framework 吗?嗯,我想你可以。:-) 不过请注意,虽然如果您不使用 Axon Server Enterprise,您会因为没有许可费而获胜,但这并不意味着您的生产将是免费的。您将引入相当多的基础设施设置和生产时间来实现这一目标。
希望这能给你很多反馈@ahoffer!