1. 程式人生 > >redis+twemproxy自動分片(一致性hash)

redis+twemproxy自動分片(一致性hash)

一、採用Node.js編寫測試指令碼(myproxy.js)
var redis = require('redis');
var options = { 
  "no_ready_check": true,
};
var client = redis.createClient(22121, 'localhost', options); 
var alphabet = [
  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
  'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
  'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
]; 
alphabet.forEach(function(letter) { 
  client.set(letter, letter); 
});
client.quit(); 

二、分別開啟3臺Redis伺服器

redis-server --port 2222--daemonize yes

redis-server --port 3333--daemonize yes

redis-server --port 4444--daemonize yes

三、分別開啟3臺Redis客戶端,並且開啟監控

[[email protected] ~]# redis-cli -p 2222
127.0.0.1:2222> MONITOR

OK

[[email protected] ~]# redis-cli -p 3333
127.0.0.1:3333> MONITOR

OK

[[email protected] ~]# redis-cli -p 4444
127.0.0.1:4444> MONITOR

OK

開啟twemproxy叢集

my_cluster:
  listen: 127.0.0.1:22121
  hash: md5
  distribution: ketama
  auto_eject_hosts: true
  redis: true
  servers:
    - 127.0.0.1:2222:1 server1
    - 127.0.0.1:3333:1 server2
    - 127.0.0.1:4444:1 server3

五、執行Node指令碼,輸出如下: