2017-04-15 145 views
1

我刚开始探索基于事件的轴测框架跟踪。我看到有人支持提高和处理事件。使用axonframework在多个实例中提升和处理事件

我有一个场景,有多个服务与不同的实例/ jvm使用http进行通信。

我现在想使用事件进行服务通信。我不确定我们如何通过网络传递事件,并让它们由运行在不同jvm/host中的服务处理。

axonframework是否为此提供任何支持,还是应该直接与此消息中间件集成。

回答

2

Axon确实为此提供支持,尽管在某些情况下,您仍然需要消息传递中间件。 Axon专注于API,而不仅仅是消息本身。

如果使用事件存储,则可以存储您发布的事件,并从该存储中读取不同的节点(按照自己的步调)。 Axon支持基于JPA/JDBC和MongoDB的事件存储。

如果您不想/需要存储事件,则可以使用Message Broker代替。 Axon通过Spring AMQP支持AMQP消息代理。 Axon会为你做消息的序列化/反序列化。

在这种情况下,Axon的好处是它将消息传递实现从业务逻辑中抽象出来。业务逻辑只是向事件总线发布事件,之后Axon将其发布到配置的代理。

+0

感谢您的回复。您能否请我指点一下样本或文件,说明事件总线如何将事件映射到生产者和消费者一侧的主题。 – user6594900

+0

查阅参考指南:https://docs.axonframework.org/part3/event-processing.html#distributing-events – Allard