2017-04-15 137 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