hyunjuuun.dev

  • 홈
  • 태그
  • 방명록

안정 해시 1

안정 해시 설계에 대해 알아보자

대규모의 서비스는 하나의 서버가 아니라 다수의 서버를 통해 운영된다. (수평적 확장) 스케일 아웃된 서버의 효과적인 동작을 위해서는 서비스의 데이터들이 균등하게 분배되어야 한다. 간단한 방식으로는 해시 함수를 통한 처리가 있다. N개의 캐시 서버가 있다고 해보자. serverIndex = hash(key) % N과 같이 간단한 모듈러 연산을 통해 서버를 선정한다. 하지만 위 방식의 경우 서버의 추가, 삭제가 일어났을 때 문제가 발생한다. 키에 대한 해시 값은 변화하지 않지만 서버의 개수인 N의 값이 달라지므로 서버 인덱스 값이 달라지게 된다. 따라서 대부분의 캐시 클라이언트가 데이터가 없는 엉뚱한 서버로 접속하게 된다. (대규모의 캐시 미스 발생) 안정 해시는 이러한 문제를 효과적으로 해결해준다. 해시 ..

소프트웨어 개발 2024.02.23
이전
1
다음
더보기
프로필사진

hyunjuuun.dev

재밌게, 즐기면서, 꾸준하게

  • 분류 전체보기 (21)
    • 소프트웨어 개발 (13)
    • Kafka (5)
    • Kotlin (2)

Tag

테스트 코드, kafka, TCP, NoSQL, 커넥션풀, 샤딩, redis, 코틀린, 파티셔닝, db, 안정 해시, url, 스레드풀, 레플리케이션, 인덱스, 카프카, dns,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

티스토리툴바