DOI QR코드

DOI QR Code

Raft-D: 참여 노드의 동적 구성을 허용하는 컨센서스 알고리즘

Raft-D: A Consensus Algorithm for Dynamic Configuration of Participant Peers

  • Ha, Yeoun-Ui (Department of Electrical/Electronic and Computer Engineering, University of Ulsan) ;
  • Jin, Jae-Hwan (Department of Electrical/Electronic and Computer Engineering, University of Ulsan) ;
  • Lee, Myung-Joon (Department of Electrical/Electronic and Computer Engineering, University of Ulsan)
  • 투고 : 2016.12.01
  • 심사 : 2016.12.22
  • 발행 : 2017.02.28

초록

견고한 분산 서비스를 개발하는 데 있어 주요 문제점 중 하나는 분산 그룹의 참여자들이 공유하는 데이터에 대한 동의를 보장하는 분산 컨센서스를 어떻게 달성하는가에 대한 문제이다. 분산 컨센서스를 위한 알고리즘 중 Raft는 분산 컨센서스 문제를 3가지(리더 선거, 로그 복제, 안정성)로 나누어 해결한 간단하고 이해하기 쉬운 컨센서스 알고리즘이다. 하지만 Raft는 컨센서스 그룹을 구성하고 있는 참여 노드의 추가나 제거같은 노드의 동적 구성에 대하여 전혀 언급하지 않고 있다. 본 논문에서는 Raft를 확장하여 참여 노드의 동적 구성을 허용하는 새로운 컨센서스 알고리즘, Raft-D에 대해 기술한다. 이를 위하여, Raft-D는 참여 노드가 가지는 정보를 확장하고 컨센서스 그룹에 속해있는 노드들의 연결 상태를 확인하기 위한 기법을 제공하며, 이를 바탕으로 컨센서스 그룹의 참여 노드 추가 및 삭제 작업을 다루기 위한 상태와 조건에 대하여 정의한다. 이러한 상태와 조건을 기반으로, Raft-D는 Raft의 로그 업데이트 과정을 통한 컨센서스 그룹의 동적 구성 작업을 수행한다.

One of fundamental problems in developing robust distributed services is how to achieve distributed consensus agreeing some data values that should be shared among participants in a distributed service. As one of algorithms for distributed consensus, Raft is known as a simple and understandable algorithm by decomposing the distributed consensus problem into three subproblems(leader election, log replication and safety). But, the algorithm dose not mention any types of dynamic configuration of participant peers such as adding new peers to a consensus group or deleting peers from the group. In this paper, we present a new consensus algorithm named Raft-D, which supports the dynamic configuration of participant peers by extending the Raft algorithm. For this, Raft-D manages the additional information maintained by participant nodes, and provides a technique to check the connection status of the nodes belonging to the consensus group. Based on the technique, Raft-D defines conditions and states to deal with adding new peers to the consensus group or deleting peers from the group. Based on those conditions and states, Raft-D performs the dynamic configuration process for a consensus group through the log update mechanism of the Raft algorithm.

키워드