【Redis学习笔记】聊聊Redis的高可用性 (High Usability)(上)

【Redis学习笔记】聊聊Redis的高可用性 (High Usability)(上)这个系列是个人学习Redis的一点记录,希望对大家有帮助若有错误,欢迎指正我们为什么需要高可用性?我们知道,Redis作为一个内存数据库,自然在物理层面上就奠定其高性能的基础,也就是常说的QPS(Query Per Second)很高。由于是内存数据库,其高效能的背后也有当机的风险,学过一点计算机组成原理的,或是对计算机硬件稍有了解的朋友,应该都对内存的特性不陌生------断电清空内容。有人抬杠说,我们.
摘要由CSDN通过智能技术生成

这个系列是个人学习Redis的一点记录,希望对大家有帮助
若有错误,欢迎指正

我们为什么需要高可用性?

我们知道,Redis作为一个内存数据库,自然在物理层面上就奠定其高性能的基础,也就是常说的QPS(Queries Per Second)很高。

由于是内存数据库,其高效能的背后也有当机的风险,学过一点计算机组成原理的,或是对计算机硬件稍有了解的朋友,应该都对内存的特性不陌生------断电清空内容

有人抬杠说,我们Redis有RDB(Redis Database)和AOF(Append Only File)这样的持久化方案,何必害怕当机,数据存在文件里了。

这一点光就今天讨论的可用性来说,无可厚非。但是倘若我们在生产中,如在把redis作为社交app的缓存之类的场景下,一旦当机,redis进程反复请求I/O,系统效能必定下降(谁又希望在刷微博的时候等上30s呢?)。

因此,我们必须找到一个在性能与可用性之间兼得的方案。

什么是高可用?

John Carnell在《Spring Microservice In Action》中如此描述高可用:

需要能够支持 “热”集群环境,…可以跨多个节点共享。如果一个节点变得不可用,集群中的其他节点应该能够接管工作

从这句话中,可以窥见高可用性的概念无非三点:

  1. 热集群:实时更新同步热数据,每个节点内部的数据都不过时
  2. 共享:集群内的信息互通有无,比如,一个节点当机,集群内其他节点应该都会收到消息。
  3. 接管工作:集群内节点当机(master)时,应该上一个替补(slave),并且这个替补能够完全接管当机节点之前的工作。

Redis的高可用

Redis作为一个成熟的,被广泛使用的分布式的,KV型的NoSQL产品,以上的特性自然是被很好地实

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值