일관적인 HASH 알고리즘이란 무엇인가요?
Consistency HASH 알고리즘은 분산 캐싱 문제를 해결하기 위해 고안된 알고리즘으로, 기존 서비스 요청과 요청 처리 서버의 매핑 관계를 최소한으로 변경할 수 있습니다. 사이.
해싱 알고리즘 적응 조건
Balance(Balance)
Balance는 해시 결과를 최대한 모든 버퍼에 분산시켜 모든 버퍼 공간을 활용할 수 있다는 뜻입니다. 많은 해싱 알고리즘이 이 조건을 충족할 수 있습니다.
단조성
단조성은 일부 콘텐츠가 이미 해싱을 통해 해당 버퍼에 할당되었고 새 버퍼가 시스템에 추가된 경우 해싱 결과를 통해 원본 할당된 콘텐츠가 매핑될 수 있음을 보장할 수 있어야 함을 의미합니다. 새 버퍼에는 있지만 이전 버퍼 세트의 다른 버퍼에는 해당되지 않습니다. (이 번역 정보는 음수 값을 가지고 있습니다. 컨시스턴트 해싱은 버퍼 크기가 변경될 때 할당된 내용이 새 버퍼에 다시 매핑되지 않도록 보호하려고 합니다.)
Spread
분산 환경에서는 단말이 모든 버퍼를 볼 수는 없지만, 그 중 일부일 뿐입니다. 단말이 해싱 과정을 통해 콘텐츠를 버퍼에 매핑하려는 경우, 서로 다른 단말에서 보는 버퍼 범위가 다를 수 있으며, 결과적으로 일관성 없는 해시 결과가 발생합니다. 버퍼. 이러한 상황은 분명히 피해야 합니다. 동일한 콘텐츠가 다른 버퍼에 저장되어 시스템 저장 효율성이 떨어지기 때문입니다. 분산은 위 발생의 심각도로 정의됩니다. 좋은 해시 알고리즘은 불일치를 최대한 피할 수 있어야 합니다. 즉, 분산을 최대한 줄일 수 있어야 합니다.
Load
부하 문제는 실제로 분산 문제를 다른 각도에서 바라보는 것입니다. 서로 다른 단말이 동일한 콘텐츠를 서로 다른 버퍼에 매핑할 수 있으므로, 특정 버퍼도 서로 다른 사용자에 의해 서로 다른 콘텐츠에 매핑될 수 있다. 분산과 마찬가지로 이러한 상황은 피해야 하므로 좋은 해싱 알고리즘은 버퍼의 부하를 최소화해야 합니다.
추천 튜토리얼: "PHP 튜토리얼"
위 내용은 일관된 HASH 알고리즘이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!