zoukankan      html  css  js  c++  java
  • redis-cluster集群

    1.redis集群必不可少的工具

    1.1 redis

    1.2 redis集群搭建工具:redis-trib.rb(类似于IIS协调调度)

         将redis分为主从节点

    1.3 Ruby 安装Ruby的运行环境

    1.4 Ruby环境下的redis驱动:redis-3.2.2.gem

    2. 什么是高性能高并发集群

    2.1 集群特点:

    分担客户端压力,提高服务器效率(高并发)

    解决单点故障问题(高可用,删除服务节点,增加服务节点)

    2.2 集群类型

    对称集群:集群实例角色地位相同(特点:数据计算)

    非对称集群:集群实例校色地位不相同(特点:数据存储-读写分离, Master , Slave)

    redis是非对称集群(redis是作为数据存储)

    3.redis集群演化redis-cluser

    redis哨兵模式(Sentinel):redis集群会有一个Master节点和多个Slave节点,通过Master节点写入数据到redis,然后Copy Master中的数据到Slaver节点的redis中,slave有多个,一个Master和多个Slave组成集群,从集群中读数据,即从Master和多个Slave中读数据。当哨兵就是监控Master和Slave的,当哨兵发现Master宕机之后,会从Slave中选择一个作为Master。

    问题:

    单点写入压力大

    当Master宕机之后,重新选择Master的过程中,系统不会响应

    解决哨兵模式的缺点

    使用Ruby redis-trib.rb集群搭建工具将数据分散写入多个Master节点,然后通过Master copy到不同的从节点,当其中的某个Master宕机之后,其他的Master还是可以继续写入数据,并且Rube工具会选择新的Slave作为Master。(必须要有3个Master节点)

    主从节点同步数据方式:

    全量

    增量

    数据同步会出现的问题

    延时

    数据一致性

    Master是怎么分片:通过hash一致性算法

    4.redis-cluster如何搭建

    集群配置文件需要配置:

    port  6380 #端口

    appendonly yes #数据的保存为aof格式

    cluster-enables yes  #是否开启集群

    appendfilename "appendonly.6380.aof"  #数据保存文件

    cluster-config-file nodes.6380.config   #是否开启集群节点的配置文件(要读取的配置文件)

    cluster-node-timeout 15000    #集群节点连接的超时时间

    cluster-slave-validity-factor 10   #校验从节点是否能够进行数据复制,校验10次

    cluster-migration-barrier  1  #是否配置数据转移

    cluster-require-full-coverage yes    #是否在主从节点之间开启全量复制

    5.redis-cluster内部核心原理

  • 相关阅读:
    Apache Spark源码走读之8 -- Spark on Yarn
    Apache Spark源码走读之7 -- Standalone部署方式分析
    Apache Spark源码走读之6 -- 存储子系统分析
    Linux服务器--所有用户登陆操作命令审计
    Linux--top命令查看系统状态,所有值讲解
    docker --help 详解
    Linux下使用《du》命令查看某文件及目录的大小
    Linux查看CPU《型号..》《内存..》《硬盘..》《系统..》
    Linux下 cmatrix的安装和使用
    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
  • 原文地址:https://www.cnblogs.com/fblogs/p/13069321.html
Copyright © 2011-2022 走看看