S3는 합의를 대체하지 않았다.
요약
S3는 기존의 합의(Consensus) 계층을 완전히 대체하지는 않지만, 조건부 쓰기 기능을 통해 별도의 복잡한 조율 시스템 없이도 원자적인 작업을 수행할 수 있게 했습니다. 이를 통해 합의가 필요한 빈도를 줄이고 아키텍처 설계의 경제성을 개선하는 방향으로 변화를 가져왔습니다.
핵심 포인트
- S3는 CAS 같은 원자적 쓰기를 조건부 쓰기(If-Match)로 구현 가능하게 함.
- 합의 시스템이 필요했던 작업의 빈도와 종류가 줄어들어 운영 부담이 감소함.
- 시스템 설계 초점이 '어떤 합의 시스템'에서 '얼마나 자주 합의가 필요한지'로 이동함.
S3가 새로운 합의(Consensus) 계층이 되고 있다는 이야기는 절반만 맞다. 더 중요한 변화는 S3 덕분에 별도의 합의 시스템 없이 처리할 수 있는 조율 작업이 늘어나고 있다는 것이다.
S3의 조건부 쓰기가 바꾼 것:If-None-Match
,If-Match
를 이용하면 객체의 존재 여부나 ETag를 조건으로 원자적인 쓰기를 수행할 수 있다. 이를 통해 단일 객체에 대한 compare-and-swap(CAS)과 같은 조율 패턴을 구현할 수 있게 됐다.**핵심은 합의가 필요한 빈도다:**writer 선출이나 manifest 교체처럼 드물게 발생하는 결정은 S3만으로 처리할 수 있다. 반면 Kafka의 메시지 순서 결정처럼 초당 수천 번 발생하는 결정은 여전히 별도의 합의 계층이 필요할 수 있다.**이러한 변화의 배경에는 비용 구조도 있다:**Kafka의 AZ 간 데이터 복제 비용과 S3의 저장·요청 비용 차이는 시스템 설계의 경제성을 바꾼다. S3 기반 아키텍처는 쓰기를 모아 커밋 빈도를 줄이는 방향으로 설계된다.결론:S3가 기존 합의 계층을 완전히 대체한 것은 아니다. 대신합의가 필요한 작업과 빈도를 줄여 별도 조율 시스템의 운영 부담을 낮출 수 있는 설계 공간을 열었다.
분산 시스템을 설계할 때의 질문도 달라진다. 어떤 합의 시스템을 운영할 것인가? 에서 우리 시스템은 얼마나 자주 합의가 필요한가? 로.
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기