다섯 살도 알 수 있게 · SRE

복제가 뭐예요?

복제를 같은 손님 명부를 창고 여러 곳에 똑같이 적어 두는 이야기로 풀어봤어요.

명부가... 전부 사라졌어요창고에 불이 나서 명부를 통째로 잃었어요

창고에 불이 나서 명부를 통째로 잃었어요.딱 한 곳에만 있던 명부라 되살릴 수가 없어요.

딱 한 곳한 곳만 믿어도 될까요?한 곳에만 두면 그곳이 잘못되면 끝이에요

한 곳에만 두면 그곳이 잘못되면 끝이에요.한 군데가 전부를 쥐고 있으면 위험해요.

원본복사본 1복사본 2같은 명부를 창고 두세 곳에 똑같이 적어 둬요하나가 타도 나머지가 있어요

같은 명부를 창고 두세 곳에 똑같이 적어 둬요.하나가 타도 나머지가 있어요.

원본 창고 하나쓰기는 여기서만 해요
나머지는 베끼기만읽기 담당이에요
베끼는 데 시간이 조금복제 지연이라 불러요
원본이 망가지면복제본 하나가 원본이 돼요
원본(쓰기)복제본(읽기)새 기록도착까지 아주 잠깐 걸려요(복제 지연)원본 고장?복제본 하나가원본이 돼요원본이 쓰기를 맡고, 나머지는 베끼기만 해요

원본이 쓰기를 맡고, 나머지는 베끼기만 해요.도착까지 아주 잠깐 걸리고, 원본이 고장나면 복제본 하나가 원본이 돼요.

방금 바뀐 거 맞아요?베끼는 중엔 살짝 옛날 답을 받을 수 있어요내가 원본!내가 원본!둘이 원본이라 우기면 안 돼요

베끼는 중엔 살짝 옛날 답을 받을 수 있어요.그리고 창고 둘이 서로 원본이라고 우기면 큰 문제예요.

한 줄로

복제 = 같은 명부를 창고 여러 곳에 똑같이 적어 두는 일. 원본이 쓰기를 맡고 나머지는 베끼기만 해서, 하나가 망가져도 서비스는 계속돼요.

데이터를 여러 서버에 복사해 두는 방식이에요. 원본(leader)과 복제본(follower)으로 나뉘고, 동기 복제는 즉시, 비동기 복제는 살짝 늦게 맞춰져요(→일관성). 원본 장애 시 복제본 중 하나가 원본이 되는 걸 장애 조치라 해요.

어른들은 이렇게 불러요

복제
Replication
명부를 여러 창고에 똑같이 두는 일. 하나가 망가져도 서비스가 멈추지 않아요.
원본/복제본
Leader/follower
쓰기 담당 창고와 베끼기만 하는 창고. 원본이 하나, 복제본은 여럿일 수 있어요.
복제 지연
Replication lag
베끼는 데 걸리는 짧은 시간. 그 사이엔 복제본이 살짝 옛날 답을 줘요.
읽기 복제본
Read replica
읽기만 맡는 복제본. 원본의 쓰기 부담을 덜어줘요.
동기/비동기 복제
Sync / async replication
즉시 맞추는지, 조금 늦게 맞추는지. 즉시는 더 안전하지만 더 느려요.
다중 리전
Multi-region
복제본을 아예 다른 도시에 두는 일. 한 도시가 통째로 문제여도 버텨요.
일관성
Eventual consistency
베끼는 중 살짝 다른 답이 나오는 것. 시간이 지나면 다 같은 답이 돼요.
장애 조치
Failover
원본이 망가지면 복제본이 원본이 되는 일. 누가 새 원본이 될지는 투표로 정해요. → 여러 관제실이 손 들어 정하기
다음 이야기
여러 관제실이 손 들어 정하기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →