第05章-搭建Redis集群
Redis高速缓存可以减少数据库IO的压力,在秒杀商品、抢红包等业务中频繁用到。这一章我们要学习的是为renren-fast项目搭建6节点的RedisCluster集群。
5-1 Redis高速缓存介绍
高速缓存介绍:
- 高速缓存利用内存保存数据,读写速度远远超硬盘
- 高速缓存可以减少I/O操作,降低I/O压力
Redis介绍:
- Redis是Wmware开发的开源免费的KV型NoSQL缓存产品
- Redis具有很好的性能,最多可以提供10万次/秒的读写
- 目前新浪微博团队组建了世界上最大规模的Redis集群
Redis集群介绍:
- Redis目前的集群方案分为以下几种:
- RedisCluster:官方推荐,没有中心节点
- Codis:中间件产品,存在中心节点。360公司推出。
- Twemproxy:中间件产品,存在中心节点。
RedisCluster:
- 无中心节点,客户端与Redis节点直连,不需要中间代理层
- 数据可以被分片存储
- 管理方便,后续可自行增加或摘除节点
5-2 Redis主从同步
主从同步:
Redis集群中的数据库复制是通过主从同步来实现的
主节点(Master)把数据分发给从节点(Slave)
主从同步的好处在于高可用,Redis节点有冗余设计
Master —复制—> Slave
Redis集群高可用:
Redis集群中应该包含奇数个Master,至少应该有3个MAster
Redis集群中每个Mater都应该有Slave
Redis集群为何不配置负载均衡?
- 后台程序使用了Spring架构,而Spring自动实现了负载均衡
5-3 配置RedisCluster集群
安装Redis镜像
导入本地Redis镜像文件,运行Redis容器
docker pull yyyyttttwwww/redis docker run -it -d --name redis_name1 -p 5001:6379 --net=network_name1 --ip 172.19.0.2 redis bash
解除Docker集群
docker swarm leave -f
查看Docker内部网络
docker network ls
删除Docker网络
docker network rm docker_network_name
创建Docker网络
docker network create -subnet=172.19.0.0/16 net2
进入Redis的Docker容器
docker exec -it redis_name1 bash
配置Redis节点:
/usr/redis/redis.conf
daemonize yes # 以后台进程运行
cluster-enabled yes # 开启集群
cluster-config-file nodes.conf # 集群配置文件
cluster-node-timeout 15000 # 超时时间
appendonly yes # 开启AOF模式
启动Redis:
cd /usr/redis/src
./redis-server ../redis.conf
安装redis-trib.rb
redis-trib是基于Ruby的Redis集群命令行工具
cp /usr/redis/src/redis-trib.rb /usr/redis/cluster cd /usr/redis/cluster apt-get install ruby apt-get install rubygems gem install redis
创建Redis集群
利用redis-trib.rb创建Redis集群
./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379
注:
--replicas 1
:参数表示为每个主节点创建一个从节点
暂停Docker容器
docker pause container_name
恢复Docker容器
docker unpause container_name
查看Redis集群节点的运行状况
cluster nodes
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tuyrk@qq.com
文章标题:第05章-搭建Redis集群
文章字数:742
本文作者:神秘的小岛岛
发布时间:2019-12-09, 20:30:57
最后更新:2019-12-09, 20:51:51
原始链接:https://www.tuyrk.cn/imooc/219-docker/05-redis-cluster/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。