我们刚刚开始使用 Kafka,我刚刚开始了解 Kafka 的不同功能。 我们有一个要求,通过 Kafka 主题发送的事件需要被一个服务(例如服务 A)使用。服务 A 向该事件发送一些数据消息并将其发布回 Kafka 主题。然后它需要被服务 B 等使用。 因此,这可以通过为服务 A、B 和 C 使用不同的主题来实现。但我想知道是否有更有效的方法来做到这一点,使用 Kafka 的一些功能(我不太确定)。 有没有一种方法可以让服务 A 处理数据消息并将其发布回同一主题,然后服务 B 来使用它。那么基本上有没有一种方法可以让服务按顺序消费kafka消息呢? 事件溯源是实现这一点的一种方法吗? 预先感谢您!
我尝试为每项服务制定单独的主题。我想知道我们是否有更有效的方法来实现这一点。
将其发布回同一主题
不要这样做,它会造成无限循环……Kafka 可以处理数十万个主题,因此只需创建一个新主题即可。这就是它的设计方式,因此没有更有效的方法。否则,听起来你应该使用 Kafka Streams 或 ksqlDB
如果我们必须为每个微服务创建 4 个主题, 在这里使用 Kafka 有什么真正的优势吗?我觉得,我们还可以使用任何消息传递点对点接口。
您的应用程序可以创建自己的主题。主题不需要提前创建。事实上,我提到的两个选项都会创建“更多”“内部”主题。 Kafka 已被记录为可处理数十万个主题和分区;它们很便宜。