我有一个由 n 个分区组成的主题。为了进行分布式处理,我创建了两个在不同机器上运行的进程。他们使用相同的分组 id 订阅主题并分配 n/2 个线程,每个线程处理单个流(每个进程 n/2 个分区)。
有了这个,我将实现负载分配,但是现在如果进程 1 崩溃,那么进程 2 将无法使用分配给进程 1 的分区中的消息,因为它在开始时只监听 n/2 个流。
否则,如果我为 HA 配置并在两个进程上启动 n 个线程/流,那么当一个节点发生故障时,所有分区将由另一个节点处理。但是在这里,我们已经妥协了分布,因为所有分区将一次由单个节点处理。
有没有办法同时实现以及如何实现?