pile·
아키텍처·cloudflare-blogCloudflare Blog·

Meerkat 소개: 글로벌 합의를 위한 실험

Cloudflare Research가 전 세계 330개 이상의 데이터센터에서 컨트롤 플레인 상태를 관리하기 위한 분산 합의 서비스 Meerkat을 개발 중이다. 기존 Raft의 리더 의존성과 타임아웃 기반 리더 선출이 광역 네트워크(WAN)에서 야기하는 가용성 저하를 해결하기 위해 2023년 EPFL에서 발표한 QuePaxa 합의 알고리즘을 채택했다.

핵심 포인트
  • QuePaxa는 리더가 없어도 어떤 레플리카든 합의를 주도할 수 있어, Raft처럼 리더 선출 중 가용성이 중단되는 일이 없다.
  • 타임아웃 기반 장애 감지를 제거해 불안정한 광역 네트워크에서도 progress가 멈추지 않는다.
  • 적대적 네트워크 환경(타깃 연결 공격, 불안정한 링크)에서 Raft 대비 약 10배 처리량을 달성했다.
  • 분산 로그 기반 아키텍처로 선형화 가능성(linearizability)을 보장하며, 그 위에 키-값 스토어 같은 상태 머신을 레이어링한다.
  • 50개 글로벌 분산 레플리카 PoC 클러스터에서 리더가 지속 장애를 겪어도 오류율 증가 없이 안정 운영됐다.
상세 정리
  • 배경: Cloudflare 내부 서비스들은 전 세계에서 공유 상태를 읽고 수정해야 하는데, Raft 리더가 WAN 지연과 타임아웃 튜닝 불가능성으로 불필요한 리더 선출과 가용성 저하를 유발했다.
  • 핵심 요구사항 1 — 선형화 가능성: 클라이언트 A가 값을 쓰고 B가 읽으면 반드시 그 쓰기가 반영된 값을 읽어야 한다. 어떤 레플리카가 요청을 처리하든 실시간 순서가 보장되어야 한다.
  • 핵심 요구사항 2 — 장애 허용성: 2f+1 머신에서 f개 장애가 발생해도 과반수가 살아있는 한 쓰기가 계속 가능해야 한다. 비-비잔틴 장애(크래시, 네트워크 분리)만 대상으로 한다.
  • 아키텍처: 분산 로그 서비스로 동작한다. 애플리케이션 요청이 로그 엔트리가 되어 모든 레플리카가 합의하며, 이미 결정된 슬롯은 변경 불가다.
  • 선형화 보장 메커니즘: 이미 결정된 슬롯에 다른 값을 제안하면 과반수가 거부하고 기존 결정을 강제 수용시키는 forcing 메커니즘으로 실시간 순서를 강제한다.
  • QuePaxa 장점 1 — 리더 선택성: 리더가 있으면 단일 라운드트립으로 빠르게 합의하고, 없어도 정상 작동한다. 리더는 필수가 아닌 최적화 수단이다.
  • QuePaxa 장점 2 — constructive concurrency: 여러 레플리카가 동시에 제안해도 서로 방해하지 않고 협력해 하나의 결정을 도출한다. Raft의 destructive 리더십 경쟁과 대비된다.
  • 성능 특성: 리더 제안은 1 라운드트립, 비리더 제안은 3 라운드트립이 필요하다. 레플리카 간 물리적 거리가 지연을 결정하는 수학적으로 불가피한 제약이 있다.
  • 최적화 전략: 레플리카 배치 최적화, 쓰기 배칭(여러 쓰기를 단일 제안으로 묶기), 로컬 레플리카에서의 stale-but-consistent 읽기, CAS 트랜잭션 번들링 등을 조합해 사용자 체감 지연을 줄인다.
  • 적합 사례: 강한 일관성이 필요하지만 쓰기 빈도가 낮은 컨트롤 플레인 데이터 — 리더십 정보, 리소스 배치 메타데이터 등. 고처리량 데이터 플레인에는 부적합하다.
  • 현재 상태: 프로덕션 미배포 개발 단계. 향후 Rust 구현 공식 검증, 클러스터 부트스트래핑 전략, 최적 레플리카 배치 알고리즘, 결정론적 시뮬레이션 테스트, 동료 심사 논문 발행을 계획 중이다.
왜 읽나광역 네트워크에서 강한 일관성 분산 시스템을 설계하는 인프라/백엔드 엔지니어에게 Raft 한계와 대안 합의 알고리즘(QuePaxa) 선택 근거를 실전 사례로 제공한다.
cloudflare-blog
Cloudflare Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 아키텍처·cloudflare-blogCloudflare Blog·

    Monetization Gateway 공개: x402로 Cloudflare 뒤 모든 리소스에 과금하기

    Cloudflare가 HTTP 402 상태 코드를 재활용한 오픈 결제 프로토콜 x402와 스테이블코인 정산을 결합한 Monetization Gateway를 발표했다. 웹페이지·데이터셋·API·MCP 도구 어디든 Cloudflare 뒤에 놓으면 사용량 기반 마이크로페이먼트를 붙일 수 있다. AI 에이전트가 광고를 안 보고 구독도 유지하지 않는 시대에, 개발자와 퍼블리셔가 콘텐츠·도구를 직접 과금할 수 있는 인프라를 엣지에서 제공하는 것이 핵심이다.

    #http-protocol#x402#micropayment+2
  2. 아키텍처·cloudflare-blogCloudflare Blog·

    Cloudflare Workflows에 사가 롤백을 구현한 방법

    Cloudflare Workflows 엔진에 사가(Saga) 패턴 롤백 기능을 추가한 과정을 다룬다. 다단계 워크플로우에서 중간 단계가 실패했을 때 이전 단계의 부작용을 되돌리는 보상 로직(compensating action)을 각 step에 선언적으로 정의할 수 있게 됐다. Workers RPC의 callable reference를 활용해 엔진 재시작 후에도 핸들러를 복구할 수 있는 내구적 설계를 택했다.

    #workflow-engine#cloudflare-workers#saga-pattern+2
  3. 아키텍처·LY CorporationLY Corporation·

    AI 시대의 개발 능력은 검증력으로 결정된다, Flava API Gateway 개발 중 배운 빠른 검증과 로컬 환경 구성 전략

    LY Corporation 의 Flava API Gateway 개발팀이 AI 코딩 에이전트 도입 후 직면한 "빠른 코드 생성 vs 느린 검증" 문제를 해결한 전략을 공유한다. 스펙 주도 개발, 검증 자동화, 로컬 환경 재현성의 세 축으로 접근해 AI 에이전트가 즉각적인 피드백 루프 안에서 안정적으로 작동할 수 있는 개발 기반을 구축했다.

    #ai-agent#test-automation#openapi+2