-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Write SD Post " [데이터 중심 애플리케이션 설계] 5장. 복제 : 쓰기 후 읽기 일관성 (Read After W…
…rite) "
- Loading branch information
Showing
1 changed file
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
--- | ||
layout: post | ||
title: " [데이터 중심 애플리케이션 설계] 5장. 복제 : 쓰기 후 읽기 일관성 (Read After Write) " | ||
categories: SystemDesign | ||
author: goodGid | ||
--- | ||
* content | ||
{:toc} | ||
|
||
> 이 글은 [책](https://book.naver.com/bookdb/book_detail.nhn?bid=13483879) 내용을 토대로 작성하였습니다. | ||
## Question | ||
|
||
* 리더 기반 복제 시스템에서 쓰기 후 읽기 일관성은 어떻게 구현할 수 있을까? | ||
|
||
책에서는 다양한 케이스를 예시로 들었지만 | ||
|
||
이 글에서는 2가지 케이스만 알아보자. | ||
|
||
|
||
|
||
--- | ||
|
||
### 첫 번째 방법 | ||
|
||
* 사용자가 수정한 내용을 읽을 때는 리더에서 읽는다. | ||
|
||
그 밖에는 팔로워에서 읽는다. | ||
|
||
* 예를 들어 SNS에서 사용자 프로필 정보는 | ||
|
||
보통 다른 사람이 아닌 프로필 소유자만 편집할 수 있다. | ||
|
||
* 따라서 항상 사용자 소유의 프로필은 리더에서 읽고 | ||
|
||
다른 사용자의 프로필은 팔로워에서 읽는 간단한 규칙을 사용한다. | ||
|
||
--- | ||
|
||
### 두 번째 방법 | ||
|
||
* 많은 사용자가 편집할 가능성이 있다면 | ||
|
||
리더에서 읽을지 여부를 결정하기 위해 다른 기준을 사용해야 한다. | ||
|
||
* 예를 들어 마지막 갱신 시각을 찾아서 | ||
|
||
마지막 갱신 후 1분 동안은 리더에서 모든 읽기를 수행한다. | ||
|
||
* 또한 팔로워에서 복제 지연을 모니터링해 | ||
|
||
리더보다 1분 이상 늦은 모든 팔로워에 대한 질의를 금지할 수 있다. | ||
|
||
|
||
--- | ||
|
||
## Suumary | ||
|
||
* 실제 프로덕트를 개발할 때 유용하게 사용할 수 있는 좋은 팁이라 생각이 든다. | ||
|
||
* 다만 두 번째 방법을 구현한다면 | ||
|
||
코드가 굉장히 더러워지지 않을까?란 생각이 들어서 | ||
|
||
실무에 도입해야한다면 살짝 멈칫하게 될 거 같다. | ||
|
||
--- | ||
|
||
## Refernece | ||
|
||
* [데이터 중심 애플리케이션 설계](https://book.naver.com/bookdb/book_detail.nhn?bid=13483879) - p165 |