op-conductor 서비스가 무엇이며 개략적으로 어떻게 동작하는지
설명합니다. 기존 네트워크에 추가하려면
설정 가이드를 따르십시오. 전체 플래그 및
RPC 목록은
구성 및 RPC 레퍼런스를 참고하십시오.
sequencer 안정성 및 가용성 향상
op-conductor는 고가용성 구성에서 sequencer의 안정성과 가용성을 높이기 위해 설계된 보조 서비스입니다. op-conductor는 단일 장애 지점(single point of failure)과 관련된 위험을 최소화하여 sequencer가 계속 동작하고 응답할 수 있도록 보장합니다.전제 조건
op-conductor는 비잔틴 장애 허용(Byzantine fault tolerance, BFT)을 포함하지
않는다는 점에 유의해야 합니다. 즉, 이 시스템은 참여하는 모든 node가 정직하고
올바르게 동작한다는 가정하에 운영됩니다.
보장 사항 요약
op-conductor의 설계는 다음을 보장합니다.
- unsafe reorg 없음
- 네트워크 분할 중 unsafe head 정체 없음
- node 장애가 1개 이하일 때 100% 가동 시간
설계
op-conductor는 다음 기능을 수행합니다.
Raft 합의 레이어 참여
- 리더 결정: Raft 합의 알고리즘에 참여하여 sequencer 중 리더를 결정합니다.
- 상태 관리: 최신 unsafe 블록을 저장하여 시스템 전체의 일관성을 보장합니다.
RPC 요청 처리
- Admin RPC: 수동 복구 시나리오를 위한 관리용 RPC를 제공합니다. 리더십 투표 중지, 클러스터에서 자신을 제거하는 기능 등이 포함되며 이에 국한되지 않습니다.
- Health RPC:
op-node가 트랜잭션과 unsafe 블록의 게시를 허용할지 판단할 수 있도록 health RPC를 제공합니다.
sequencer 상태 모니터링
- 최적의 성능과 안정성을 보장하기 위해 sequencer(op-node)의 상태를 지속적으로 모니터링합니다.
제어 루프 관리
- sequencer(op-node)의 상태를 관리하는 제어 루프를 구현합니다. 여기에는 다양한 시나리오와 상태 검사에 따라 동작을 시작하고 중지하는 것이 포함됩니다.
Conductor 상태 전이
다음은 op-conductor가 sequencer의 Raft 합의를 관리하는 방식을 나타낸 상태 머신 다이어그램입니다.다음 단계
- 설정 가이드를 따라 다운타임 없이 기존 다중 sequencer 네트워크에 op-conductor를 추가하십시오.
- 구성 및 RPC 레퍼런스에서 플래그와 admin RPC를 확인하십시오.
- op-conductor-mon을 확인하십시오. 이 도구는 여러 op-conductor 인스턴스를 모니터링하고 메트릭 보고를 위한 통합 인터페이스를 제공합니다.
- op-conductor와 상호작용하기 위해 op-conductor-ops에 익숙해지십시오.