Skip to content

为什么要在5.x弃用consumeThreadMax #748

@Liyuhao02

Description

@Liyuhao02

由于consumeThreadMin和consumeThreadMax在5.x版本当中被弃用,我有几个问题

  1. 由于线程数量无法再设置核心线程数以及最大线程数,线程数量只能设置为固定线程,假设我设置为固定20,如果我在多Topic的情况下,一旦项目启动并创建了消费者,那么创建的消费者线程数量就将会是 n(topic数量) * 20, 这样就会有大量的线程进入Waiting状态并浪费资源
  2. 消费者线程数调低会导致业务高峰期消费不及时
  3. 如果按照上述逻辑,并且合并Topic也会有问题,如果同一Topic内,多个业务逻辑比如A、B、C,其中A会产生大量消息,B、C很少,如果A产生了大量消息并导致堆积会造成B、C也造成堆积

所以结合上述的问题,为什么不设计成允许动态线程池,低峰期自动降低线程数,高峰期自动开辟线程到最大线程数,队列满之后的线程认为来不及处理不处理呢,虚心请教一下

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions