Consistent hashing (Hash ring)
Consistent hashing은 Hashing을 일관되게 유지하는 방법이다. 이게 뭐다 라고 설명하기 보단, 먼저 상황을 예시로 들어보자. 노드 3개에 데이터를 분산 저장하는 상황이 있다. 제일 쉬우면서 분산저장하는 법은 데이터의 특정 값(이름 등)을 이용해 Hashing 결과 값을 구하고, 해당 값의 node로 배치하는 법이 있다. 수식으로 나타낸다면 hash(data-key) % 3 으로 데이터가 저장되는 노드 번호를 구할 수 있을 것이다. 이러한 예시에서 노드의 수가 세상이 끝날 때까지 변함이 없다는게 보장된다면 문제 없이 동작할 수 있다. 하지만 역시나 그럴 확률은 적다. 주변 환경에 따라, 유저의 수가 증감함에 따라, 회사/서비스의 상황에 따라 분산저장 노드의 개수는 변할 수 있고, 그렇게 ..
Development
2022. 1. 6. 22:17
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 일상
- tag
- hexagonal architecture
- 비동기
- 하루
- boj
- WebFlux
- gradle
- 쿠버네티스
- 클린 아키텍처
- 알고리즘
- MySQL
- k8s
- Algorithm
- docker
- Intellij
- c++
- Log
- Spring
- java
- 로그
- Spring boot
- Kubernetes
- Clean Architecture
- python
- container
- HTTP
- Istio
- jasync
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함