集群

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:
复制代码
集群的作用:
1.主从备份,防止主机宕机
2.读写分离,主服务器写,从服务器内容跟着主服务器,主服务器变他就变,读就从从服务器读。减轻主服务器的负担。
3.任务分离,比如消耗cpu和内存的操作,交给从服务器。

Redis功能强大操作简洁。主从集群的配置比mysql要简单很多。
复制代码

第一种的坏处是,主down了,要把slave1变成master,并且还要把slave2指向skave1。

第二种的好处是,主down了,只要把slave1变成master就可以了。

 

Slave一启动发现有一个master,就会自动的连过去,然后开始同步,master开始dump出rdb这个内存镜像给slave,在dump出rdb的过程中有新的命令过来就会缓存到aof里面,dump完了之后就把aof的缓冲同步过来。之后只要master变了就会通过replicationFeedSlaves进程通知slave来更新。

 

复制代码
6379做主master,6378,6377做slave, (redis的版本要一致)
Pkill -9 redis //杀掉所有的进程

星型的布局:

1个Master配置:
1:关闭rdb快照(备份工作交给slave),把耗时的io操作交给从服务器。(也可以打开防止同步失败,只是消耗cpu和内存)
2:可以开启aof(防止同步失败,只是消耗cpu和内存)

2个slave配置:
打开 slaveof <masterip> <masterport>:slaveof 127.0.0.1 6379   //2个slave都指向一个master
linux上面要各使各的pid文件(winsows没有)
pidfile /var/run/redis6377.pid
pidfile /var/run/redis6378.pid
pidfile /var/run/redis6379.pid

slave-read-only yes   //只读状态


1: 声明slave-of
2: 配置密码[如果master有密码]:
主需要# requirepass foobared,从加密码# masterauth <master-password>
3: [某1个]slave打开 rdb快照功能


这样主从服务器就配置好了。
往从服务器写是不行的,是readonly的。


缺陷:
每次salave断开后,(无论是主动断开,还是网络故障)
再连接master

都要master全部dump出来rdb,再aof,即同步的过程都要重新执行1遍.

所以要记住---多台slave不要一下都启动起来,否则master可能IO剧增。甚至可以把redis拖垮。
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8278906.html,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
12月前
|
Kubernetes 安全 Linux
K8S集群安装
K8S集群安装
419 0
|
2月前
|
存储 Kubernetes 监控
在K8S中,worke节点如何加入K8S高可用集群?
在K8S中,worke节点如何加入K8S高可用集群?
|
Kubernetes 应用服务中间件 Linux
极简的配置单节点Kubernetes(k8s)集群
在传统的概念当中,Docker是简单易用的,Kubernetes是复杂强大的。 深入了解之后会发现Docker的简单是因为用户可以从基本功能开始用起, 只需要一台Linux主机,运行一下apt-get install docker-engine 或者yum install docker-engine,立马就可以用docker run启动一个新的容器, 整个过程与用户之前积累的Linux软件使用体验高度一致。
5842 0
|
12月前
|
Kubernetes 负载均衡 应用服务中间件
部署Kubernetes(k8s)多主的高可用集群
在CentOS7上安装Kubernetes多主节点的集群,并且安装calico网络插件和metallb。使用keepalived和haproxy进行负载均衡。最后部署应用
2054 0
|
5月前
|
存储 索引
|
5月前
|
Shell Docker 容器
2. 搭建 Etcd 单节点和集群
2. 搭建 Etcd 单节点和集群
|
10月前
|
canal Kubernetes Ubuntu
kubespray安装高可用k8s集群
kubespray安装高可用k8s集群
126 0
|
10月前
|
Kubernetes Cloud Native Go
kubekey快速安装高可用k8s集群
kubekey快速安装高可用k8s集群
153 0
|
Kubernetes 应用服务中间件 开发工具
|
负载均衡
本篇关于集群
本篇关于集群
104 1
下一篇
无影云桌面