[ 
https://issues.apache.org/jira/browse/ROCKETMQ-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jaskey Lam updated ROCKETMQ-106:
--------------------------------
    Description: 
*Motivations*

For current flow control, we can only control on queue level. 

Howerver, the numbers of queue allocated may be dynamic changed. For example, I 
might hope to control that at most 1000 messages can be pulled from broker to 
protect my client. And I have no idea how many queue I am allocated. Maybe I 
will have 5 queue and 5 instances so I set `pullThresholdForQueue`=1000, which 
works as expected when one is fine. But as long as any instances crashes, some 
instances may be allocated  more than one queue, which will make messages 
pulled from broker exceed my expectations.

A configuration of  `pullThresholdForTopic` is propably most user hopes.

  was:
*Motivations*

For current flow control, we can only control on queue level. 

Howerver, the numbers of queue allocated may be dynamic changed. For example, I 
might hope to control that at most 1000 messages can be pulled from broker to 
protect my client. And I have no idea how many queue I am allocated. Maybe I 
will have 5 queue and 5 instances so I set `pullThresholdForQueue`=1000, which 
works as expected when one is fine. But as long as one instances crashes, one 
instance will be allocated one more queue, which will make messages pulled from 
broker exceed my expectations.

A configuration of  `pullThresholdForTopic` is propably most user hopes.


> Add flow control on topic level
> -------------------------------
>
>                 Key: ROCKETMQ-106
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-106
>             Project: Apache RocketMQ
>          Issue Type: Wish
>          Components: rocketmq-client
>            Reporter: Jaskey Lam
>            Assignee: Xiaorui Wang
>
> *Motivations*
> For current flow control, we can only control on queue level. 
> Howerver, the numbers of queue allocated may be dynamic changed. For example, 
> I might hope to control that at most 1000 messages can be pulled from broker 
> to protect my client. And I have no idea how many queue I am allocated. Maybe 
> I will have 5 queue and 5 instances so I set `pullThresholdForQueue`=1000, 
> which works as expected when one is fine. But as long as any instances 
> crashes, some instances may be allocated  more than one queue, which will 
> make messages pulled from broker exceed my expectations.
> A configuration of  `pullThresholdForTopic` is propably most user hopes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to