yglovewms opened a new pull request #3079:
URL: https://github.com/apache/rocketmq/pull/3079


   **Make sure set the target branch to `develop`**
   [ISSUES #3078] 
   ## What is the purpose of the change
   
   
利用tcp滑动窗口的原理,根据每次消费后得到的堆积数量动态调整每次拉取的间隔时间,用户可以自定义窗口上下限,步长以及默认采样收集时间,一定程度做到了队列防堆积,比之前的调整核心线程数的方法更加简单,可以实现模块化接入。并且进行了单元测试,在example模块添加了新的使用例子。
   
   ## Brief changelog
   
   
![SE77%D@L4K@JE(3}}98@M(U](https://user-images.githubusercontent.com/52808040/123362912-0a5aae80-d5a4-11eb-9f43-0870af8b002d.png)
   用户只需要手动加这一段代码即可。
   
   ## Verifying this change
   
   ![M}CUX8Y_(M) 
H3P~X9KTNYM](https://user-images.githubusercontent.com/52808040/123362963-29594080-d5a4-11eb-9e8e-306732ddd21e.png)
   ![56AMTK%JSE2% 
1R~~R@1%RJ](https://user-images.githubusercontent.com/52808040/123363131-74735380-d5a4-11eb-97e4-c29e0eb8031d.png)
   设置每秒采集一次堆积情况,当设置阈值两千时,如果堆积小于阈值,则增加拉取间隔,否则减少。
   动态调整依赖于消息消费,如果没有消息,采样不会运行,不会导致拉取间隔不停变化。
   
   Follow this checklist to help us incorporate your contribution quickly and 
easily. Notice, `it would be helpful if you could finish the following 5 
checklist(the last one is not necessary)before request the community to review 
your PR`.
   
   - [x] Make sure there is a [Github 
issue](https://github.com/apache/rocketmq/issues) filed for the change (usually 
before you start working on it). Trivial changes like typos do not require a 
Github issue. Your pull request should address just this issue, without pulling 
in other changes - one PR resolves one issue. 
   - [x] Format the pull request title like `[ISSUE #123] Fix UnknownException 
when host config not exist`. Each commit in the pull request should have a 
meaningful subject line and body.
   - [x] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
   - [x] Write necessary unit-test(over 80% coverage) to verify your logic 
correction, more mock a little better when cross module dependency exist. If 
the new feature or significant change is committed, please remember to add 
integration-test in [test 
module](https://github.com/apache/rocketmq/tree/master/test).
   - [x] Run `mvn -B clean apache-rat:check findbugs:findbugs 
checkstyle:checkstyle` to make sure basic checks pass. Run `mvn clean install 
-DskipITs` to make sure unit-test pass. Run `mvn clean test-compile 
failsafe:integration-test`  to make sure integration-test pass.
   - [ ] If this contribution is large, please file an [Apache Individual 
Contributor License Agreement](http://www.apache.org/licenses/#clas).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to