什么是处理大量Kafka消息流的最佳解决方案?

问题描述

我正在构建一个新的微服务,该服务具有两个kafka主题,这些主题提供需要处理的大量消息(处理涉及对另一个微服务的REST调用),然后重新发布包含已处理消息的新消息。
经过一番搜索,我发现我可以使用以下解决方案之一:

  1. 通常的Kafka Consumer Producer API,带有用于处理消息的线程
  2. 据我所知,Kafka Steam API利用消息的消费,处理和重新发布到kafka的过程
  3. Kafka Reactive用于非阻塞和快速处理消息

这里的邮件目标是尽可能地实现高吞吐量,因为期望每个主题处理数百或数千条消息。
谁能给我一些更适合我的情况的行会指南,或者如果我误解了以上几点,可以纠正我吗?

解决方法

关于实际实施框架(消费者,流,响应式)的建议最终可能基于观点。

独立于此选择,Kafka随主题内的分区数扩展。由于主题分区只能由(同一使用者组的)一个使用者实例使用,因此您要拥有大量分区和大量使用者实例。

您当然也可以使用大量主题,因为这也会增加并行度和吞吐量。

这可以独立于您的实现选择来实现。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...