是否有可能在没有 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 Standard版,如果需要,还可以查看代码。如果您更喜欢掌握基础设施,也可以选择不同的方法来分发CommandBus
和EventBus
/EventStore
。
对于CommandBus
,框架提供了DistributedCommandBus
,其中有两种实现方式:
我认为选项2是分发命令最理想的选择,因为它使您可以自由选择任何Spring Cloud Discovery Service实现,这应该让您在此领域“免费使用许可证”。
对于分发事件,您可以大致考虑两种方法:
EventStore
,在所有实例之间共享如果您希望节点的实例能够源自命令模型,则倾向于使用选项1。这是必需的,因为Axon Framework需要专用的EventStore
才能从历史记录中源自命令模型。
QueryBus
。对此有一个问题需要解决,有人付出了努力提供PR。然而,在看到Axon Server标准版如何处理它后,他有意关闭了PR(附带以下评论),因为在这个阶段维护这样的工具似乎对他来说不可行。