Song Ziyang created RATIS-1864:
----------------------------------

             Summary: Support leader lease
                 Key: RATIS-1864
                 URL: https://issues.apache.org/jira/browse/RATIS-1864
             Project: Ratis
          Issue Type: New Feature
          Components: client, gRPC, server
            Reporter: Song Ziyang
            Assignee: Song Ziyang


h2. Proposal: Introducing Leader Lease Read into Ratis
h3. Objective:

The primary objective of this proposal is to introduce the Leader Lease Read 
feature into Ratis, enhancing the read capabilities and addressing the existing 
limitations in the current implementation.
h3. Current Implementation:

At present, Ratis supports two read operations:
 # Leader Bypass Read: This type of read operation offers improved latency and 
throughput. However, it is constrained to the leader and may produce 
inconsistent results.
 # Server Linearizable Read (ReadIndex): This type allows clients to read from 
any server, ensuring linearizability but suffers from suboptimal latency.

h3. Reasons for the Proposed Feature:

To address the limitations, I propose to incorporate the Leader Lease Read type 
into Ratis.

This feature has already been validated by other communities, such as 
Sofa-Jraft, where it resulted in a remarkable 15% improvement in throughput 
performance.

Additionally, some of our downstream dependents, like IoTDB, demand low-latency 
read capabilities to efficiently serve time-series queries.
h3. References:
 # Previous community discussions on Leader Lease in RATIS-1273 and relevant 
contributions on 
[https://github.com/apache/ratis/pull/383|https://github.com/apache/ratis/pull/383.]
 # Quantitative results showcasing the benefits of Leader Lease Read can be 
found at [https://www.sofastack.tech/en/projects/sofa-jraft/jraft-user-guide/ 
|https://www.sofastack.tech/en/projects/sofa-jraft/jraft-user-guide/]in Section 
5. Linearizable read.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to