【问题标题】:Publish Axon Events onto a Kafka Topic将 Axon 事件发布到 Kafka 主题上
【发布时间】:2020-11-14 04:28:39
【问题描述】:

我想通过我的聚合事件处理程序之一将事件发布到 axon Kafka 主题,因为我使用 kafka 作为我的事件总线。这样做的正确方法是什么?我应该直接将消息推送到主题还是可以在这种情况下使用AggregateLifecycle#apply(event)? 我通过我想要发布另一个事件的事件处理程序之一从我的聚合中发布了多个事件。我正在使用 axon 4.2

【问题讨论】:

    标签: axon


    【解决方案1】:

    最简单的方法是开始使用Kafka Extension Axon 提供。共享存储库包含所有必要的代码,以从 Kafka 主题创建 Axon Event 的发布端和消费端。为方便配置,该项目中也有一个 Spring Boot Starter

    添加,存储库有一个 (Kotlin) 示例项目,显示如何配置它,您可以找到 here。最后,关于如何设置一切的完整描述,我强烈建议阅读 Axon 的参考指南,尤其是 Kafka 页面here。

    我想建议您认为此扩展非常适合在 Axon 和非 Axon 应用程序之间进行通信,使 Kafka 成为“企业服务总线”的一种形式。在 Axon Framework 中将其用作 the EventBus 替换是可行的,但需要对您进行大量微调。在这些情况下使用Axon Server 会更明智,或者如果您确实必须,直接在应用程序之间共享包含您的事件的数据源。

    【讨论】:

    • 感谢@Steven 的回复,我已经在使用 axon kafka 扩展,我只想从我的聚合外部发布一个通用事件消息,我想我可以使用 axon 框架提供的 EventGateway,如果我错了,请纠正我
    • 啊,明白了。从您最初的问题中,我并不清楚这一点。 Axon Kafka 扩展不区分从聚合发布的事件或您直接在 EventGateway 或 EventBus 上发布的事件。它只会摄取事件并将其放在您配置的 Kafka 主题上。不用担心!
    • 感谢@Steven 的确认
    猜你喜欢
    • 2018-10-28
    • 2018-10-27
    • 2021-12-19
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2021-03-03
    • 2018-05-21
    • 2020-01-18
    相关资源
    最近更新 更多