memcache分佈式

1.一臺機器上通過多個端口號
2.取%    進行循環分數據到服務中
3.nginx 
輪詢
一致性hash
sphinx 分佈式 配置文件

(1)命名規則
(2)根據什麼來劃分(用戶id、一致性hash)
(3)算法

consistent hashing算法的基本原理
Consistent hashing 的基本思想就是將對象和 cache 都映射到同一個 hash 數值空間中,並且使用相同的 hash 算法。
以前一般用的是最原始的hash取模做分佈式,當生產過程中添加或刪除一臺memcache都會造成數據的全部失效,一致性hash就是爲了解決這個問題,把失效數據降到memcache分佈式 最低
1.首先環形HASH空間
2.將object映射到hash空間中
3.將cache映射到hash空間中
4.將object映射到cache中

memcache分佈式缺點:
    當某臺服務器宕機,數據就會永遠丟失,會給服務器造成一定損失。
/usr/local/bin/memcached --11213-u root -10-1024-8-/tmp/memcached.pid
/usr/local/bin/memcached --11214-u root -10-1024-8-/tmp/memcached.pid
/usr/local/bin/memcached --11215-u root -10-1024-8-/tmp/memcached.pid

$memcache =newMemcache;
$memcache->addServer('localhost',11213);
$memcache->addServer('localhost',11214);
$memcache->addServer('localhost',11215);
$memStats = $memcache->getExtendedStats();
print_r($memStats);

修改PHP的Memcache擴展memcache.c的源代碼中的

"memcache.hash_strategy"= standard

"memcache.hash_strategy"= consistent
發佈了61 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章