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