当前位置: 首页 > 知识库问答 >
问题:

每个Kafka主题有多种消息类型

壤驷涛
2023-03-14

假设我有一个名为account的Kafka主题,它有几个消息类型(每个消息类型都有不同的Avro模式),如account.createdaccount.deleted等等。我想了解一下用Spring Cloud Stream发布/接收相同主题的不同类型是否可行(而且有意义)。特别是,拥有几个@streamlistener将非常有用,每个@streamlistener专用于特定类型。根据这篇博文,当需要订购消息时,这是非常有用的,因为它们与同一个实体相关。这种情况下的配置示例是什么?

共有1个答案

公良征
2023-03-14

我认为您是在讨论基于内容的路由,它允许将消息传递到一个特定的StreamListener以解决存在多个消息的情况。您可以使用condition属性执行此操作。请参阅本节以了解更多的详细信息,如果仍然不清楚或不清楚您正在寻找什么,请告知我们。

 类似资料:
  • 我有一个建立在Kafka之上的事件源应用程序。目前,我有一个主题中有多个消息类型。所有序列化/反序列化的JSON。 那么这种方法如何与Kafka流媒体应用程序一起工作呢?在该应用程序中,您需要指定一个键和值serde? 我是不是应该忘了Avro而改用protobuff呢?

  • 我正在开发一个使用的软件。我有一个用户订阅了多个主题,我想知道是否有一个订单接收来自这些主题的消息。我在我的电脑上尝试了一些组合,但我需要确定这一点。例 null [编辑]我想指定这两个主题各有一个分区,并且只有一个生产者和一个消费者。我需要首先阅读来自第一个主题的所有消息,然后阅读来自另一个主题的消息

  • 我们有一个传入的kafka主题,多个基于Avro模式的消息序列化到其中。 我们需要将Avro格式的消息拆分为多个其他kafka主题,基于某个公共模式属性的值。 想了解如何实现它,同时避免在汇流平台上构建中间客户端来进行这种拆分/路由。

  • 如何在apache/kafka中使用regex消费所有主题?我尝试了上面的代码,但不起作用。

  • 我有以下用例: 我有两个Kafka主题,一个是用来处理传入消息流的,另一个是用来存储记录的,作为应用程序初始状态的引导。 有没有办法做到以下几点: 当应用程序启动时,读取Kafka主题中的所有消息,并将该主题中用于将应用程序引导至初始状态的所有存储在内存中 只有在读取了所有消息后,才允许处理流主题中的 因为在应用程序运行时,状态主题上可能会有其他记录,以便在不必重新启动应用程序的情况下将它们合并到

  • 我有多个制作人,可以向一个Kafka主题发送多种类型的事件。 我有一个消费者,它必须消费所有类型的消息。每种类型的消息都有不同的逻辑。 但在这种情况下,所有消息都指向此方法,不仅是EventOne 如果我实现了两种方法(对于每种类型的消息),那么所有消息都只能使用一种方法。 如果我像这样实现监听器: 然后我得到一个例外:org。springframework。Kafka。KafkaListener