当前位置: 首页>数据库>正文

redis和codis有什么区别 codis redis 区别

一.CODIS

百度定义  

   Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.

组成

  • Codis Proxy (codis-proxy)
  • Codis Manager (codis-config)
  • Codis Redis (codis-server)
  • ZooKeeper

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 分支, 基于 2.8.13 开发, 加入了 slot 的支持和原子的数据迁移指令. Codis 上层的 codis-proxy 和 codis-config 只能和这个版本的 Redis 交互才能正常运行.

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

架构

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_缓存,第1张

 特性

  • 自动平衡
  • 使用非常简单
  • 图形化的面板和管理工具
  • 支持绝大多数 Redis 命令,完全兼容twemproxy
  • 支持 Redis 原生客户端
  • 安全而且透明的数据移植,可根据需要轻松添加和删除节点
  • 提供命令行接口
  • RESTful APIs

二.codis的集群部署

环境:

三台纯净的虚拟机vm1~3

ip172.25.7~3

安装golong

tar -C /usr/local/ -zxf go1.8.linux-amd64.tar.gz
[root@vm1 local]# vim ~/.bash_profile 
                  source ~/.bash_profile
[root@vm1 local]# cat vim ~/.bash_profile
cat: vim: No such file or directory
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export GOROOT=/usr/local/go
export GOPATH=/root/gocode
export PATH=$PATH:/usr/local/go/bin
[root@vm1 local]# go version
go version go1.8 linux/amd64
[root@vm1 local]#

 

 配置编译环境

mkdir -p /usr/local/go/src/github.com/CodisLabs
unzip codis-release3.2.zip

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_数据库_02,第2张

 编译工具安装

yum install gcc make gcc-c++ automake openssl-devel zlib-* -y

编译安装

unzip codis-release3.2.zip
mv codis-release3.2 /usr/local/go/src/github.com/CodisLabs/codis
ls
cd /usr/local/go/src/github.com/CodisLabs/codis/
ls
 make

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_数据库_03,第3张

 启动

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_Redis_04,第4张

 脚本在admin文件夹中

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_redis_05,第5张

 启动相应脚本

[root@vm1 admin]# ls
codis-dashboard-admin.sh  codis-proxy-admin.sh
codis-fe-admin.sh         codis-server-admin.sh
[root@vm1 admin]# ./codis-proxy-admin.sh start
/usr/local/go/src/github.com/CodisLabs/codis/admin/../config/proxy.toml
starting codis-proxy ... 
[root@vm1 admin]#

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_数据库_06,第6张

 查看日志

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_缓存_07,第7张

 查看端口

netstat -antlup | grep codis

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_redis和codis有什么区别_08,第8张

 图形化管理

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_数据库_09,第9张

 通过fe添加grop

new group 填1

点击new group

addsever 填写 codis-server地址  后写1  点击add server

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_Redis_10,第10张

 通过fe 初始化slot

状态offline

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_缓存_11,第11张

 点击rebalance all slots

redis和codis有什么区别 codis redis 区别,redis和codis有什么区别 codis redis 区别_redis_12,第12张

 单机集群部署完成


https://www.xamrdz.com/database/6p61934709.html

相关文章: