mirror of
https://github.com/apache/rocketmq.git
synced 2026-11-07 14:07:35 +00:00
Page:
RIP 49 RocketMQ remoting module improvement
Pages
FAQ
Home
How to Configure TLS
RIP 1 MQTT Bridge
RIP 10 RocketMQ Unit Test
RIP 11 Evolution of The Next Decade Architecture for RocketMQ
RIP 12 Message Connector
RIP 13 RocketMQ Console Project
RIP 14 RocketMQ Community Operation Conventions
RIP 15 RocketMQ IPv6 Support Project
RIP 16 RocketMQ RPC(Request Response model) Support
RIP 17 RocketMQ HTTP Proxy Support
RIP 18 Metadata Management Architecture Upgrade
RIP 2 RocketMQ Spring
RIP 20 Streaming Tiered Storage Optimize
RIP 21 logical queue abstraction for static topic and fast scale out
RIP 26 Improve Batch Message Processing Throughput
RIP 27 Auto batching in producer
RIP 28 Light message queue (LMQ)
RIP 29 Optimize RocketMQ NameServer
RIP 3 RocketMQ Python Client
RIP 30 Support Compaction topic
RIP 31 Support RocketMQ BrokerContainer
RIP 32 Slave Acting Master Mode
RIP 33 RocketMQ MQTT
RIP 34 Support quorum write and adaptive degradation in master slave architecture
RIP 4 RocketMQ Go Client
RIP 41 RocketMQ E2E Test
RIP 42 Support Schema Registry
RIP 44 Support DLedger Controller
RIP 45 RocketMQ Replicator 2.0
RIP 45 Support Graceful Shutdown
RIP 46 Observability Improvement for RocketMQ
RIP 47 Data Layout V2
RIP 48 Enhance server side offset management ability
RIP 49 RocketMQ remoting module improvement
RIP 5 RocketMQ ACL
RIP 50 RocketMQ Transaction Message Improvement
RIP 51 Pop orderly improvement
RIP 52 Optimize Building ConsumeQueue
RIP 54 Backporting of Remoting based Client
RIP 55 Support remoting protocol in rocketmq proxy module
RIP 56 Replace Logging Module with Shaded Logback
RIP 57 Tiered storage for RocketMQ
RIP 6 Message Trace
RIP 63 Queue selection strategy optimization
RIP 65 Tiered Storage Optimization
RIP 66 Support KV(Rocksdb) Storage
RIP 7 Multiple Directories Storage Support
RIP 8 Consumer RACK Support
RIP 9 RocketMQ Developer Guide
RIP‐67 jRaft‐Controller Implemention
RIP‐80 Priority Message
RIP‐82 Implement Timer message, transaction message, and index based on RocksDB
RIP‐82 Implement Timer transaction message and index based on RocksDB
RIP‐83 Lite Topic: A New Message Model
Release and Lifetime Support Policy
RocketMQ Improvement Proposal
SoC
[RIP 19] Server side rebalance, lightweight consumer client support
[RIP 58] RocketMQ Streams improvement
[RIP‐70] Optimizing Lock Mechanisms
[RIP‐73] Pop Consumption Improvement Based on RocksDB
[RIP‐74] Flink‐Connector‐RocketMQ Dynamic Load Balancing
[RIP‐77] Deprecate and Remove ACL 1.0
No results
1
RIP 49 RocketMQ remoting module improvement
lizhimins edited this page 2022-10-11 10:57:15 +08:00
Status
- Current State: Discussing
- Authors: lizhimins
- Shepherds: lizhanhui, zhouxinyu
- Mailing List Discussion: dev@rocketmq.apache.org
- Pull Request: #PR_NUMBER
- Released: <released_version>
Background & Motivation
What do we need to do
-
Will we add a new module? No.
-
Will we add new APIs? No.
-
Will we add a new feature? Yes.
Why should we do that
- 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.
Goals
- What problem is this proposal designed to solve?
We will add some new features and optimize codes for RocketMQ remoting module.
Non-Goals
- What problem is this proposal NOT designed to solve?
Changes
Architecture
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
Interface Design/Change
- 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
Compatibility, Deprecation, and Migration Plan
- re backward and forward compatibility taken into consideration? No
- Are there deprecated APIs? No
- How do we do migration? No
Implementation Outline
We will implement the proposed changes in pull requests.
Rejected Alternatives
How do alternatives solve the issue you proposed?
Pros and Cons of alternatives
Why should we reject above alternatives
- Home
- RocketMQ Improvement Proposal
- User Guide
- Community
Copyright © 2016~2022 The Apache Software Foundation.
