没有Axon Server的企业,是否可以扩展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
才能从历史记录中获取命令模型。当您只想将其他应用程序连接到事件流时,选项2将是一个很好的选择。再次,该框架在这一领域有两个选择:
另外,我想在这一部分指出的唯一一点是,Kafka扩展程序仍处于候选发布状态。目前,它正在积极进行中。
所有这些扩展名和选项都应该在Reference Guide中明确说明,因此,如果您要启动应用程序,我一定会查阅本文档。
不过,您无法分发的唯一内容是
QueryBus
。有一个出色的issue可以解决此问题,为此有人努力提供PR。
在了解了Axon Server Standard Edition的工作方式之后,他特意关闭了PR(使用以下comment),因为在此阶段维护这样的工具似乎不可行。
因此,您可以在没有Axon Server Enterprise的情况下使用Axon Framework吗?
好吧,我想你可以。 :-)
请注意,尽管如果您不使用Axon Server Enterprise也可以在不收取许可费的情况下获胜,但这并不意味着您的产品将免费。
您将介绍一些基础架构设置和生产时间,以实现此目标。
希望这给您@ahoffer大量的反馈!