主从概念

  • 一个master可以拥有多个slave,一个slave又可以拥有多个slave。如此下去,形成了强大的多级服务器集群架构。
  • master用写数据,经统计:网站的读写比率是10:1
  • 通过主从分离可以实现读写分离
  • master和slave都是一个redis实例(redis服务)

主从配置

Redis:

安装
sudo apt-get install redis-server 卸载
sudo apt-get purge --auto-remove redis-server 启动
sudo service redis-server start 停止
sudo service redis-server stop
## master ##
#1. 修改 master配置
vim /etc/redis/redis.conf
#2.修改bind为本机ip
bind your_ip ## slave配置 ##
#1.复制redis.conf 名为slave.conf
cp redis.conf slave.conf
# 2.修改配置 修改bind为本机ip
bind your_ip
#3.更改端口 例如
port 6378
#4. 更改slaveof
slaveof your_ip 6379
redis-server /etc/redis/slave.conf

查看主从关系 redis-cli -h your_ip -p your_port info Replication



或者:



当master中添加数据后,会自动备份到slave中,slave中read_only.

集群

为什么要有集群?

  • 如果访问量过大(1000W),主服务肯定会挂掉,数据服务就挂掉了或者发生自然灾难。
  • 大公司都有跟多服务器(华东地区,华南地区,华北地区,西北地区,西南地区等)

集群概念

  • 集群式相互独立的,通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置用于提高可用性和可缩放性。

当请求到来首先负载均衡服务器处理,把请求转发到另外一台服务器上。

分类

  • 软件层面

    只有一台电脑,在这台电脑上启动了多个redis服务。

  • 硬件层面

    存在多台实体电脑,每台电脑上启动了一个或多个redis服务

机器一:

新建一个文件夹,建立7000.conf 7001.conf 7002.conf

port 7000 #(7000-7002)
bind 172.21.0.16
#作为守护进程运行
daemonize yes
pidfile 7000.pid #(7000-7002)
cluster-enabled yes
cluster-config-file 7000_node.conf #(7000-7002)
#连接集群的超时时间
cluster-node-timeout 15000
appendonly yes

启动三个服务

redis-server 7000.conf redis-server 7001.conf redis-server 7002.conf



机器二相同配置 (7003-7005)

创建集群

  • redis的安装包中包含了redis-trib.rb,用于创建集群。

  • 接下来机器上进行操作

  • 将指令复制,这样可以在任何目录下调用此命令。

    sudo cp /usr/share/doc/redis-tools/examples /redis-trib.rb /usr/local/bin/

  • 安装ruby环境,因为redis-trib.rb是ruby开发的

    sudo apt-get install ruby

  • 安装redis相关依赖

    sudo gem install redis

  • 运行如下指令创建集群

    redis-trib.rb create --replicas 1 172.21.0.16:7000 172.21.0.16:7001 172.21.0.16:7002 172.21.0.16:7003 172.21.0.16:7004 172.21.0.16:7005



Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value

时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,

这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大

致均等的将哈希槽映射到不同的节点。

槽的分配:

数据验证

连接 redis,例如进入7002

redis-cli -h 172.21.0.16 -c -p 7002



添加数据自动跳转服务器。



Redis主从和集群的更多相关文章

  1. redis主从、集群、哨兵

    redis的主从.集群.哨兵 参考: https://blog.csdn.net/robertohuang/article/details/70741575 https://blog.csdn.net ...

  2. 【Redis学习专题】- Redis主从+哨兵集群部署

    集群版本: redis-4.0.14 集群节点: 节点角色 IP redis-master 10.100.8.21 redis-slave1 10.100.8.22 redis-slave2 10.1 ...

  3. Redis主从&哨兵集群搭建

    主从集群 在搭建主从集群前,我们先把Redis安装起来: #解压Redis压缩包 [root@master lf]# tar -zxvf redis-6.2.1.tar.gz -- #安装gcc [r ...

  4. redis 主从 及集群

    一.redis 主从架构 搭建redis 主从   (可以用一台主机,也可以两台主机) 环境准备: 一台服务器:192.168.206.6 操作系统:CentOS7.5 redis 版本: redis ...

  5. redis主从与集群搭建

    redis搭建主从 条件:yum安装(3.2.1)与编译安装(5.0.0)都可以 环境:我这里在同一台主机上搭建,当然也可以两台. 1) 复制redis.conf的主配置文件并命令为slave.con ...

  6. redis主从和集群搭建

    主从搭建 redis的主从搭建非常简单,打开配置文件6379.conf,只需要将主节点的protected-mode设置为no,然后在从节点配置中加入:slaveof <masterip> ...

  7. 三千字介绍Redis主从+哨兵+集群

    一.Redis持久化策略 1.RDB 每隔几分钟或者一段时间会将redis内存中的数据全量的写入到一个文件中去. 优点: 因为他是每隔一段时间的全量备份,代表了每个时间段的数据.所以适合做冷备份. R ...

  8. 项目实战11—企业级nosql数据库应用与实战-redis的主从和集群

    企业级nosql数据库应用与实战-redis 环境背景:随着互联网2.0时代的发展,越来越多的公司更加注重用户体验和互动,这些公司的平台上会出现越来越多方便用户操作和选择的新功能,如优惠券发放.抢红包 ...

  9. Redis 3.0 集群搭建

    Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...

随机推荐

  1. Jupyter Notebook 的快捷键

    原文:http://blog.csdn.net/lawme/article/details/51034543 Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输 ...

  2. Java 后台验证的工具类

    Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^( ...

  3. (十)创建ROS消息和ROS服务

    ROS总教程(中文版) 110.创建ROS消息和ROS服务

  4. React-router4 第七篇 Recursive Paths 递归路径

    https://reacttraining.com/react-router/web/example/recursive-paths import React from 'react' import ...

  5. docker 支持ipv6 (核心要点是ndp需要把docker内的ip全部加入到ndplist中来)

    IPv6 with Docker Estimated reading time: 10 minutes The information in this section explains IPv6 wi ...

  6. vue中的钩子函数的理解

    接下来我们对几个钩子函数进行解释 beforeCreated:这个钩子函数实在vue实例创建后,触发的.这个时候还没有进行data里的数据监听和事件的初始化 其实大家很多时候都会在created钩子函 ...

  7. 远程连接centos6.5

    安装上传下载工具: 直接yum -y install lrzsz 下载数据到本地下载目录:sz filename1 filename2 … 上传数据到远程:执行rz –be 命令,客户端会弹出上传窗口 ...

  8. Python 多进程编程之 进程间的通信(Queue)

    Python 多进程编程之 进程间的通信(Queue) 1,进程间通信Process有时是需要通信的,操作系统提供了很多机制来实现进程之间的通信,而Queue就是其中的一个方法----这是操作系统开辟 ...

  9. 1.3eigen中数组类和系数的运算

    1.3数组类和系数的运算 与矩阵类只适用与线性代数运算相反,数组类提供通用的数组类,能不利用线性代数的知识来对系数进行操作,比如对每个系数加上一个常数,或者乘上两个数组的系数. 1.数组类型 跟矩阵类 ...

  10. s33 cobbler自动化安装系统

    1. Cobbler介绍 参考链接:http://blog.oldboyedu.com/autoinstall-cobbler/ Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PX ...