libmemcached 의 일치 성 hash 알고리즘
787 단어 memcached
libmemcached 라 이브 러 리 를 예 로 들 면 memcachedserver_by_key 함수 에서 먼저 hashkit 에서 지정 한 해시 알고리즘 에 따라 key 에서 해시 값 을 계산 한 다음 에 다음 알고리즘 에 따라 모든 노드 에서 가장 가 까 운 노드 를 찾 습 니 다.
만약 에 해시 값 이 마지막 노드 에 있 거나 마지막 노드 와 마지막 두 번 째 노드 사이 에 있다 면 첫 번 째 노드 로 돌아 갑 니 다.
그렇지 않 으 면 해시 값 뒤에 있 는 자신의 가장 가 까 운 노드 로 돌아 갑 니 다.
코드:
while (left < right)
{
middle= left + (right - left) / 2;
if (middle->value < hash)
left= middle + 1;
else
right= middle;
}
if (right == end)
right= begin;
return right->index;
이 알고리즘 은 매우 이상해 서 이해 하지 못 했 으 니 내일 계속 분석 하 자.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
memcached 전면 분석 – 5memcached의 응용 및 호환 프로그램이 서버들은 이전에 데이터베이스 서버 등에 사용되었다.CPU 성능이 향상되고 메모리 가격이 하락함에 따라 우리는 데이터베이스 서버, 응용 서버 등을 성능이 더욱 강하고 메모리가 더 많은 서버로 적극적으로 바꾸었다.이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.