분산 시스템은 여러 노드로 구성되어 있지만 클라이언트 입장에서 단일 서버인 것처럼 일관성 있는 동작과 응답을 구현해야 한다.

<aside> ✂️

솔직히 합의, 선형성, 동의…. 그거 다 따지다 돌아가시겠다.

</aside>

선형성

DB 시스템이 제공할 수 있는 강한 일관성 모델

선형성의 목표는 Slave DB가 1개인 것처럼 시스템이 동작하게 하여 사용자들이 일관적인 응답을 받도록 하는 것이다. 이를 최신성 보장이라고 한다.

<aside> 🔥 앨리스와 밥 중에서 1명만 먼저 월드컵 결과를 보는 것은 최종적 일관성이 위배된 경우다.

</aside>

왜 앨리스는 밥보다 우승 결과를 먼저 봤을까?

그러면 어떻게 앨리스와 밥이 같이 우승결과를 볼 수 있을까?

선형성에서 지키는 시간 기준