# 141. 商品详情页动态渲染系统:为 redis 主集群部署 twemproxy 中间件

最近加班有好几天都没有继续学习了,这里先来回顾下之前的机器 redis 布局

                             ← 192.168.99.12 slave: 6405  并列作为 6401 的从(从集群)
192.168.99.11 master:6401   ← 192.168.99.11 slave: 6405
192.168.99.11 slave: 6403 ↑
192.168.99.12 slave: 6401 ↑
192.168.99.12 slave: 6403 ↑

                             ← 192.168.99.12 slave: 6406  并列作为 6402 的从(从集群)
192.168.99.11 master:6402   ← 192.168.99.11 slave: 6406
192.168.99.11 slave: 6404 ↑
192.168.99.12 slave: 6402 ↑
192.168.99.12 slave: 6404 ↑
1
2
3
4
5
6
7
8
9
10
11

本次要为主集群安装 twemproxy 中间件,来路由分发到两个集群上去

主要安装方式在前面章节已经讲过了

# 依赖安装请参考之前的章节
mkdir /usr/local/twemproxy
cd /usr/local/twemproxy
# 安装 twemproxy
# 先备份一下原始配置文件
cd /usr/local/twemproxy-0.4.0/conf/
mv nutcracker.yml nutcracker.back.yml
vi nutcracker.yml
# 配置以下参数
redis-master:   # 配置一个逻辑名称
  listen: 127.0.0.1:1111  
  hash: fnv1a_64  
  distribution: ketama  
  redis: true  
  servers:  
   - 192.168.99.11:6401:1 redis01  # 指向两个主集群
   - 192.168.99.11:6402:1 redis02

# 启动
cd /usr/local/twemproxy/twemproxy-0.4.0/
./src/nutcracker -d -c conf/nutcracker.yml
# 查看是否已经启动
ps -ef | grep nutcracker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

测试路由是否成功

cd /usr/local/redis/redis-2.8.19/src/
[root@eshop-detail01 src]# ./redis-cli -p 1111
set hello hello
set k1 v1
set p1 p1
set h1 h1
set product 01
set hello1 1

[root@eshop-detail01 src]# ./redis-cli -p 6401
127.0.0.1:6401> keys *
1) "h1"
2) "k1"
3) "product"
4) "p1"

[root@eshop-detail01 src]# ./redis-cli -p 6402
127.0.0.1:6402> keys *
1) "hello1"
2) "hello"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

目前可以看出来测试还是成功的,就是不太清楚路由是按什么逻辑路由的。 我这里和视频中的路由表现不太一致