【问题标题】:How to upcast events with Axon Server?如何使用 Axon Server 上播事件?
【发布时间】:2020-02-05 12:47:56
【问题描述】:

我对 Axon 框架比较陌生,只是评估该框架是否适合我的项目。 this post 中描述了事件的版本控制。但在示例中,EventStore 更改为 Jpa。是否可以使用 Axon Server 作为事件存储来上传事件?还是我误会了什么?

【问题讨论】:

    标签: spring-boot axon


    【解决方案1】:

    Axon Framework 提供的Upcaster 逻辑现在偏向于支持您的应用程序的EventStore 类型。因此,为AxonServerEventStore 提供一个UpcasterChain 是完全可行的,其中包含您编写的EventUpcaster 实现。


    Upcaster 注册更新

    Nicolas 针对我的回复提出了以下问题:

    但是upcaster只适用于包含它的服务。 那么是否可以在全局范围内注册一个 upcaster 或者我必须在与 Axon Server 连接的每个服务中实现它?

    Axon 服务器不会在连接的 Axon 服务器客户端(也称为 Axon 框架实现)中委托注册的 Upcaster 实例。 这不是因为您可以有一个异构的服务部署,一个具有旧事件版本,一个具有最新版本,包括这样的Upcaster

    从蓝绿部署策略或滚动升级方法来考虑它;您不希望 Axon Server 将 upcaster 直接推送给客户端,因为客户端应该负责他们感兴趣的确切版本。

    话虽如此,您将不得不与您的消息一起共享 upcasters,可以说是您的 API 的一部分。无论您是否使用 Axon Server,这都是 Axon 应用程序的要求。话虽如此,至少(即将推出的)4.3 版本的 Axon Server 就是这种情况。我(目前)不知道将来是否会添加这样的功能。

    【讨论】:

    • 感谢您的回答。我试过了,效果很好。但是upcaster只适用于包含它的服务。那么是否可以在全局范围内注册一个 upcaster 或者我必须在与 axon 服务器连接的每个服务中实现它?
    • 啊,尼古拉斯说得好。我会稍微更新一下我的评论,以具体说明你的这个要求。
    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 2020-11-14
    相关资源
    最近更新 更多