-
Notifications
You must be signed in to change notification settings - Fork 11.7k
RIP 49 RocketMQ remoting module improvement
lizhimins edited this page Oct 11, 2022
·
1 revision
- Current State: Discussing
- Authors: lizhimins
- Shepherds: lizhanhui, zhouxinyu
- Mailing List Discussion: [email protected]
- Pull Request: #PR_NUMBER
- Released: <released_version>
-
Will we add a new module? No.
-
Will we add new APIs? No.
-
Will we add a new feature? Yes.
- Are there any problems with our current project?
Remoting module is a very important component in RocketMQ, which is used for component communication.
We propose some solutions to optimize.
- Server can't solve the back pressure situation well.
- Server need a simple way to get request and response distribution for sloving probleam.
- When thread abnormal exit, we can't find reason because we do not have log.
- In some special network scenarios, the client needs to connect to the server by proxy
- What can we benefit from proposed changes?
The features of remoting improved the above problems.
- What problem is this proposal designed to solve?
We will add some new features and optimize codes for RocketMQ remoting module.
- What problem is this proposal NOT designed to solve?
We have some small modifications on this module, for example:
- Logging rpc distribution can help developer quickly locate related requests with problems
- In some special network scenarios, the client needs to connect to the server by proxy
- When thread abnormal exit, output thread exception information to the error log
- To avoid the system from going OOM we have to override the method channelWritabilityChanged of the ChannelInboundHandler and do back pressure handling. The outbound data will be queued in an internal buffer maintained by netty. Referral links
- Method signature changes? Nothing specific.
- Method behavior changes? Nothing specific.
- CLI command changes? Nothing specific.
- Log format or content changes?
We add new log to print rpc distribution in remoting module.s
- re backward and forward compatibility taken into consideration? No
- Are there deprecated APIs? No
- How do we do migration? No
We will implement the proposed changes in pull requests.
Copyright © 2016~2022 The Apache Software Foundation.
- Home
- RocketMQ Improvement Proposal
- User Guide
- Community