zoukankan      html  css  js  c++  java
  • 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重写串行化执行。

  • 相关阅读:
    JNDI使用小记
    Python基础之字符串
    openstack装B之路http协议
    openstack装B之路keystone
    Python基础之列表
    openstack装B之路Keystone部署以及操作
    openstack装B之路网关协议
    纵表与横表互转的SQL
    Asp.Net请求管道中的19个事件
    jquery ajax post get
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/8408261.html
Copyright © 2011-2022 走看看