Snowflake
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 7장 : 분산 시스템을 위한 유일 ID 생성기 설계
분산 환경에서 데이터베이스 서버 한 대로는 요구사항을 감당할 수 없을 뿐더러, 여러 데이터베이스 서버를 쓰는 경우에는 지연 시간을 낮추기가 힘들것이다.분산 시스템에서 유일성이 보장되는 ID를 만드는 방법은 아래와 같다.다중 마스터 복제(multi-master replication)데이터베이스의 auto_increment 기능을 활용한다.다음 ID의 값을 구할 때 1씩 증가시키는 것이 아니라, 데이터베이스 서버의 수(k)만큼 증가시킨다.단점여러 데이터 센터에 걸쳐 규모를 늘리기 어렵다.ID의 유일성은 보장되겠지만 그 값이 시간 흐름에 맞추어 커지도록 보장할 수는 없다.→ 로드밸런싱 로직에 따라 하나의 데이터베이스 서버에서 ID를 연속해서 생성하면, 이후 다른 서버에서 생성한 ID는 앞서 생성한 ID..
반응형