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)