유일키생성 (1) 썸네일형 리스트형 분산 처리 시스템에서 유일한 식별자를 만드는 방법(twitter snowflake) 배경 프로그래밍을 하다 보면 유니크한 식별자 값이 필요한 경우가 있다. 객체를 식별하든 무언가 다른 것과 구분이 필요한 경우로 데이터베이스의 Primary Key나 UUID 같은 것이 그 예다. 필자의 경우 자바, 스프링, JPA 환경에서 프로그래밍을 주로 하는데 무의식적으로 JPA 엔티티의 ID 값으로 Long 타입을 사용했고 데이터베이스에 의존한 시퀀스 또는 auto_increment 값을 사용했다. 그러나 대규모 시스템에서는 이렇게 개발하면 문제가 발생할 수 있다. 대규모 시스템이라는 표현이 어떤 정량적인 방법으로 측정할 수 있는 건 아니어서 애매하지만 여기서는 이렇게 정의하겠다. 🦣 대규모 트래픽 + 대용량의 데이터 처리로 인해 “분산 처리”가 반드시 필요한 경우로 정의한다. (이럴거면 분산 시스.. 이전 1 다음