원문정보
Reducing Recovery Time of Raft Replicated Servers for Hyperledger Fabric
초록
영어
Raft is to provide the ordering service for Hyperledger Fabric blockchain framework, which determines the recording order of transaction requests from clients and supports the data consistency among replicated servers. As a distributed consensus algorithm, Raft runs on multiple replicated servers composing a cluster. Although some research works were presented to analyze the performance and safety of the practical consensus algorithm, its availability has not been fully considered yet. This research has been conducted with a goal of reducing the recovery time from the service interruption due to a faulty leader until the resumption of service by a newly elected leader. An improvement proposed in this paper introduces a new state called ‘Favorite’ into the state transition of the algorithm in addition to the leader, follower, and candidate states. Both original and ‘Favorite’ Raft algorithms were implemented with five replicated servers, and the response times were measured in the experiments. A guideline to determine the range of the timeout values which plays an important role in the procedure of fault detection and recovery was also suggested in the paper. Compared to the original Raft algorithm, the proposed algorithm showed about 8 percent of improvement in recovery time. We have demonstrated the effect of the proposed algorithm by a thorough analysis on the data observed in the experiments.
한국어
Raft는 하이퍼레저 패브릭 블록체인 프레임워크 내에서 클라이언트의 트랜잭션 요청을 기록하는 순서를 결정하고 복제 서버의 데이터 일치성을 보장하는 오더링 서비스를 제공하기 위한 것이다. 분산 합의 알고리즘인 Raft는 클러 스터로 구성된 여러 복제 서버에서 동작한다. 이 실용적인 합의 알고리즘의 성능과 안전성을 분석하기 위한 여러 연 구가 있었으나, 가용성의 측면에서는 아직 충분한 고려가 없었다. 본 연구는 주 서버 노드 역할을 하는 리더의 결함 에 의해 서비스가 중단되고 새로운 리더가 선출되어 서비스가 재개될 때까지의 복구 시간을 단축하는 것을 목표로 진행되었다. 본 논문에서 제시하는 개선안은 알고리즘의 상태 전이 단계에 리더와 팔로워 그리고 후보 상태 외에 페 이버릿이라는 새로운 상태를 추가한 것이다. 다섯 개의 복제 서버로 구성되는 시스템을 원래 Raft 알고리즘과 페이 버릿 Raft 알고리즘 두 가지로 구현하고, 실험을 통하여 두 알고리즘의 응답 시간을 측정하였다. 또한 결함 탐지와 복구 과정에서 중요한 역할을 담당하는 제한시간의 범위를 정하는 방안을 제시하였다. 제안한 알고리즘은 원래 Raft 알고리즘에 비하여 8% 정도의 복구 시간 개선 효과를 나타내었다. 실험에서 관측된 데이터를 면밀하게 분석 하여 제시된 알고리즘의 실효성을 입증하였다.
목차
Abstract
1. 서론
2. Raft 알고리즘의 특성
2.1 리더 선출
2.2 로그 복제
2.3 안전성을 위한 추가 제한 조건
3. 페이버릿 Raft 알고리즘
3.1 후보의 제한
3.2 리더에 의한 로그 복제 및 페이버릿 지명
3.3 새로운 리더의 선출
3.4 특이 상황에 대비한 안전 대책
4. 테스트 환경 구축 및 실험
4.1 테스트 환경 구축
4.2 실험 초기 과정
4.3 정상 동작 실험
4.4 리더 결함 동작 실험
5. 실험 결과 분석
5.1 페이버릿 Raft 알고리즘의 효과
5.2 선출 제한시간의 영향
5.3 기타 요인에 대한 분석
6. 결론
참고문헌