Apache RocketMQ 4.8.0 Released with Major DLedger Performance Improvements
Apache RocketMQ 4.8.0 has been released, featuring extensive optimizations and bug fixes, with significant performance, functionality, and stability enhancements to the Raft‑based DLedger mode, including asynchronous pipeline processing, batch log replication, and various lock and cache improvements that boost throughput by multiple times.
Apache RocketMQ 4.8.0 has been released. The announcement indicates that this version includes a large number of optimizations and bug fixes for RocketMQ. In addition, the DLedger mode has been enhanced in terms of performance, functionality, and stability.
DLedger is a Raft‑based CommitLog implementation within OpenMessaging. Since RocketMQ 4.5.0, the DLedger mode has been used to solve automatic failover within a broker group. In version 4.8.0, the community performed a comprehensive upgrade of the RocketMQ DLedger mode.
Performance Upgrades
Asynchronous Pipeline Mode
RocketMQ 4.7.0 upgraded the synchronous double‑write architecture, using an asynchronous pipeline mode to greatly improve the performance of synchronous double‑write. In RocketMQ 4.8.0, this improvement is applied to the DLedger mode; the diagram below shows how a broker processes message sending in DLedger mode.
In the original architecture, the SendMessageProcessor thread had to wait for a majority‑replication confirmation before returning to the client for each message. The new version uses CompletableFuture to make the processing asynchronous, no longer waiting for majority confirmation before handling the next request. The ACK is performed by another thread after confirmation, then the result is returned to the client. By splitting and pipelining the replication process, long thread waits are reduced, CPU utilization is increased, and throughput is significantly improved.
Batch Log Replication
Batch processing has always been an important performance‑optimization technique. In the new version, setting isEnableBatchPush=true enables batch replication in DLedger mode. By aggregating multiple records into a single packet, the number of send/receive packets is reduced, lowering system‑call overhead and context‑switching. Under heavy sending pressure, batch replication can markedly increase throughput without adding latency to individual messages, as DLedger does not delay single‑packet processing.
In addition to the above performance enhancements, the community also optimized several locks and caches that affect DLedger performance, resulting in multiple‑fold improvements.
Laravel Tech Community
Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.