使用axonframework在多个实例中提升和处理事件

时间:2017-04-15 07:01:04

标签: http domain-driven-design cqrs event-sourcing axon

我刚开始用axonframework探索基于事件的编排。我看到有人支持筹集和处理事件。

我有一个场景,其中有多个服务使用http。

在不同的实例/ jvm中与每个服务进行通信

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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