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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions