Pika部署-基于Codis部署Pika的高可用集群

1. 说明

关于Codis的介绍可参见:https://blog.csdn.net/eric_sunah/article/details/103455487

2. 部署流程

2.1 Codis编译

Pika Sharding的介绍:https://github.com/Qihoo360/pika/wiki/Pika-Sharding-Tutorials

pika 兼容codis 方案说明

  • 目前只支持3.2 版本的 codis
  • dashboard 的 migration_method 选项需要配置为 “semi-async” (默认配置)
  • 由于pika不支持transaction 需要对codis做一些改动,详细见提交
  • coids使用crc32算法,默认使用1024个slot,对应配置文件配置default-slot-num。

其中第三条需要值得注意,有两种可选的方式可以生成需要的二进制文件

  1. 拉去https://github.com/left2right/codis.git的代码,在go的环境中进行编译
  2. 我编译好了一个版本,可直接获取://download.csdn.net/download/sun7545526/12026825

2.2 集群部署:

2.2.1 Proxy,Dashboard,FE

Proxy,Dashboard,FE的部署方式与codis+redis的方案相同,配置与启动方式请参考:https://blog.csdn.net/eric_sunah/article/details/103455487 中的集群部署部分

2.2.2 Server

  1. 文件下载:当前最前的版本为3.0.16,下载地址为:https://github.com/Qihoo360/pika/releases/download/v3.0.16/pika-linux-x86_64-v3.0.16.tar.bz2
  2. 对下载的文件进行解压, 并创建配置文件,内容如下:
bind : 0.0.0.0
slave-priority : 1 
port : 6379
protected-mode : no
loglevel : INFO
log-path : ./log/
db-path : ./db/

详细配置,可参考Pika的wiki:https://github.com/Qihoo360/pika/wiki/pika-%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E

  1. 执行:./pika_codis -c redis.conf 启动Pika

2.2.3 哨兵

使用codis中的redis-sentinel,与codis+redis的方案相同,配置与启动方式请参考:https://blog.csdn.net/eric_sunah/article/details/103455487 中的集群部署部分.

为了使SLAVE的切换更及时,可以调整failover-timeout的时间,配置如下:

sentinel failover-timeout codis-demo-1 10000

你可能感兴趣的:(NoSQL)