Redis持久化——多实例部署

Posted 明王不动心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis持久化——多实例部署相关的知识,希望对你有一定的参考价值。

Redis单线程架构导致无法充分利用CPU特性,通常的做法是在一台机器上部署多个实例。

当多个实例开启AOF重写后,彼此之间会产生对CPU和IO的竞争。

 

对于单机部署多Redis部署,如果同一时刻运作多个子进程,对当前系统影响将非常明显,因此需要采取一种措施,把子进程工作进行隔离。

Redis在info Persistence中为我们提供了监控子进程运行状况的度量指标。

我们基于以上指标,可以通过外部程序轮询控制AOF重写操作的执行,整个过程如下:

流程说明:

(1)外部程序定时轮询监控机器(machine)上所有实例。

(2)对于开启AOF的实例,查看(aof_current_size - aof_base_size)/ aof_base_size确认增长率。

(3)当增长了超过特定阀值,执行bgrewriteaof命令手动触发当前实例的AOF重写。

(4)运行期间循环检查aof_rewrite_in_progress和aof_current_rewrite_time_sec指标,直到AOF重写结束。

(5)确认实例AOF重写完成后,在检查2-4步操作,从而保证机器内每个Redis实例AOF重写串行化执行。

 

以上是关于Redis持久化——多实例部署的主要内容,如果未能解决你的问题,请参考以下文章

Redis持久化

实用教程在配备持久内存的实例上部署Redis应用

Redis数据库(安装部署及高可用持久化性能管理基础理论)

Redis数据库(安装部署及高可用持久化性能管理基础理论)

2021最新京东Java面试题目,从理论到实践!

涨知识:flume消费kafka数据从最新位置开始