加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

一文带你揭开Redis复制道理的隐秘面纱

发布时间:2019-09-17 10:03:23 所属栏目:编程 来源:陈龙
导读:Redis作为一个非布局化的内存数据库,在某些应用场景具备响应上风,在现实的场景计划中也获得普及的存眷和行使。可是,大部门企业的Redis数据库架构为单机运行,没有计划容灾复制,这样对付Redis的容错特征没有施展出来,并且无耐久化环境下,数据存在丢失
副问题[/!--empirenews.page--]

Redis作为一个非布局化的内存数据库,在某些应用场景具备响应上风,在现实的场景计划中也获得普及的存眷和行使。可是,大部门企业的Redis数据库架构为单机运行,没有计划容灾复制,这样对付Redis的容错特征没有施展出来,并且无耐久化环境下,数据存在丢失风险。

出格是以一些微处事企业,Redis作为热门数据层,面临传统数据库的哀求较少。因此对付缓存依靠性就很高,一旦呈现缓存崩掉,全部的数据就会流入到传统数据库,对付高并发环境下,这样的机能回响就会很差。

因此,本文在依托Redis主从情形下,针对会见的数据同等性举办说明,解开Redis复制道理的隐秘面纱。

一.Redis架构

开篇以Redis的架构出发,这也是说明Redis数据同等性的基本条件,对Redis的架构进而相识后,说明数据同等性的实现道理。本文着重与Redis集群与主从复制举办比拟说明。

Redis的通例架构方法有以下几种:

  • 单机单实例运行
  • 体系HA主从复制
  • Redis 集群
  • 体系HA Redis 集群

1.png

图1,Redis架构范例

二、Redis 集群

在许多企业中没有Redis集群,可是至少做了主从复制。有了主从复制,当主节点挂掉的时辰,可以让从节点过来举办经受,这样处事可以继承运行。假如没有此操纵,那么要规复营业,就必要等主节点举办数据规复和重启,不只耗时较长,同时影响营业的持续性。

Redis 集群提供了以下两个甜头:

  • 将数据自动切分(split)到多个节点的手段。
  • 当集群中的一部门节点失效可能无法举办通信时, 如故可以继承处理赏罚呼吁哀求的手段。

Codis 是redis的集群方案之一,欣慰的是它是海内本身的工程师开拓的。

一文带你揭开Redis复制道理的隐秘面纱

图2,国产codis集群架构

三、Redis 主从复制

主从复制的降生,就是为了存在单节点妨碍环境下,可以举办快速转移,使得营业可以正常运作。 Redis 集群对节点行使了主从复制成果: 集群中的每个节点都有 1 个至 N 个复制节点(replica), 个中一个复制节点为主节点(master), 而别的的 N-1 个复制节点为从节点(slave)。

复制固然办理了数据多副本的题目,可是同时也存在多副本同等性的困难。在此之前,构建一套主从复制模子,针对其运行举办分解。

对付主从复制的搭建也长短常简朴的,为了利便演示下面简述一下其搭建进程。

  • 主处事器IP:127.0.0.1
  • 主处事器端口:6379
  • 从处事器IP:127.0.0.1
  • 主处事器端口:6380

(1) 清算conf设置文件

复制一份conf设置文件给从库行使,利便后期从库的设置打点

  1. [redis@albert redis-5.0.4]$ cp redis.conf redis.conf6380 

(2) 同步复制设置

备注:仅在从库长举办配置

  1. ################################# REPLICATION ################################# 
  2.   
  3. # Master-Replica replication. Use replicaof to make a Redis instance a copy of 
  4. # another Redis server. A few things to understand ASAP about Redis replication. 
  5. #   +------------------+      +---------------+ 
  6. #   |      Master      | ---> |    Replica    | 
  7. #   | (receive writes) |      |  (exact copy) | 
  8. #   +------------------+      +---------------+ 
  9. # 1) Redis replication is asynchronous, but you can configure a master to 
  10. #    stop accepting writes if it appears to be not connected with at least 
  11. #    a given number of replicas. 
  12. # 2) Redis replicas are able to perform a partial resynchronization with the 
  13. #    master if the replication link is lost for a relatively small amount of 
  14. #    time. You may want to configure the replication backlog size (see the next 
  15. #    sections of this file) with a sensible value depending on your needs. 
  16. # 3) Replication is automatic and does not need user intervention. After a 
  17. #    network partition replicas automatically try to reconnect to masters 
  18. #    and resynchronize with them. 
  19. # replicaof <masterip> <masterport> 
  20. # slaveof <masterip> <masterport> 
  21.   slaveof 127.0.0.1 6379 

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读