You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@rocketmq.apache.org by "Jaskey Lam (JIRA)" <ji...@apache.org> on 2017/02/17 02:20:41 UTC

[jira] [Updated] (ROCKETMQ-106) Add flow control on topic level

     [ 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)