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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章