codis集群部署

一、codis介绍

codis是一个分布式redis集群解决方案,对于上层的应用来说, 连接到codis-proxy和连接原生的redis-server没有明显的区别。

上层应用可以像使用单机的redis一样使用,codis底层会处理请求的转发,不停机的数据迁移等工作。所有后边的一切事情,对于前面的客户端来说是透明的,可以简单的认为后边连接的是一个内存无限大的redis服务。

codis由四部分组成:

codis proxy(codis-proxy)                    codis dashboard(codis-config)

codis redis(codis-server)                    zookeeper/etcd

codis-proxy是客户端连接的redis代理服务,codis-proxy本身实现 了redis协议,表现得和一个原生的redis没什么区别(就像twemproxy),对于一个业务来说,可以部署多个codis- proxy,codis-proxy本身是无状态的。

codis-config是codis的管理工具,支持包括:添加/删除redis节点,添加/删除proxy节点,发起数据迁移等操作。

codis-config本身还自带了一个http-server,会启动一个dashboard,用户可以直接在浏览器上观察codis集群的运行状态。

codis-server是codis项目维护的一个redis分支,基于redis2.8.21开发,加入了slot的支持和原子的数据迁移指令。codis上层的codis-proxy和codis-config只能和这个版本的redis交互才能正常运行。

codis依赖zookeeper来存放数据路由表和codis-proxy节点的元信息,codis-config发起的命令都会通过zookeeper同步到各个存活的codis-proxy。

codis支持按照namespace区分不同的产品,拥有不同的product name的产品,各项配置都不会冲突。

codis架构图如下:

Codis Proxy 提供 Redis 集群的接入口,Dashboard 是 Codis的管理工具,下层提供 Redis 服务。也可以对 Codis Proxy 实现高可用,使得集群更加完善。

二、环境准备

codis集群的搭建,需要zookeeper集群。除了zookeeper集群之外,我们还需要安装go语言环境,因为codis是基于go语言开发的。

实验环境(rhel6.5):

172.25.45.2     Codis-redis-master      server2
172.25.45.3     codis-proxy -                  server3
172.25.45.4     Codis-redis-slave         server4

三、 Codis集群的搭建与使用

1. 安装go环境(所有节点均须安装,在server3上做演示,其他节点相同)

tar -zxf go1.8.linux-amd64.tar.gz  -C /usr/local/

vim /etc/profile      

      ##最后面添加以下几行
      export GOPATH=/usr/local/codis
      export GOROOT=/usr/local/go
      export PATH=$PATH:/usr/local/go/bin

source /etc/profile

 go version     ##显示go版本

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值