>  기사  >  백엔드 개발  >  PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터

PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터

藏色散人
藏色散人앞으로
2019-05-05 09:25:292782검색

1. out 11214//$memcached->addServer('192.168.75.132', '11214'); php 코드에서 php 코드를 다시 실행하세요

키 분포 보기

두 키의 분포를 비교하세요.

key_2 key_10에 대한 적중은 변경되지 않았으며 항상 11211이며, 서버 감소로 인해 다른 10개의 키가 변경되었습니다

3. 일관된 해시 알고리즘

PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터

php 코드

/usr/local/memcached/bin/memcached -d -p 11211 -u memcached -vv >> /var/log/memcached.11211.log 2>&1
/usr/local/memcached/bin/memcached -d -p 11212 -u memcached -vv >> /var/log/memcached.11212.log 2>&1
/usr/local/memcached/bin/memcached -d -p 11213 -u memcached -vv >> /var/log/memcached.11213.log 2>&1
/usr/local/memcached/bin/memcached -d -p 11214 -u memcached -vv >> /var/log/memcached.11214.log 2>&1

위 코드를 실행하세요. , 로그를 확인하세요

키 배포 보기

PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터

11214//$memcached->addServer('192.168.75.132', '11214');

php 코드를 다시 실행하세요

키 배포 보기

보조 키의 두 분포 비교:

11211 원래 키 적중이 변경되지 않았습니다. key_4가 추가되었습니다.

11212 원래 키 적중이 변경되지 않았습니다

11213 원래 키 적중이 변경되지 않았습니다. key_12가 추가되었습니다PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터

서버 적중 감소로 인해 키 2개가 변경되었습니다



4. 비교

PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터모듈로 해시 알고리즘으로 서버 1개가 줄어들고 키 적중 10개가 변경되었습니다.

한 서버에서 2개의 키 적중을 줄이기 위해 일관된 해시 알고리즘이 변경되었습니다.

여기에서는 12개의 키만 테스트했습니다. 시뮬레이션된 데이터 양이 너무 작아 키 분포가 고르지 않습니다. 그러나 서버 감소로 인한 키 적중 변화는 시뮬레이션된 데이터의 크기와 관련이 없습니다. 이 테스트는 일관성을 반영합니다. 해시 알고리즘의 장점은 서버 감소로 인해 많은 수의 모듈식 해싱 결과가 변경되고 적중 서버도 변경된다는 것입니다. 일관된 해싱 알고리즘 키는 2^32-1 노드의 해시에 고정되어 있으며, 서버가 키를 줄일 때 해시 링의 서버 위치는 변경되지 않습니다. 이는 서버의 키 적중에만 영향을 미칩니다. 서버를 추가하면 해시 링의 다음 위치에 있는 서버 키의 일부에만 영향을 미칩니다.

위 내용은 PHP 모듈러스 해시 및 일관된 해시 작업 Memcached 분산 클러스터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jmsite.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제