通过建站学运维1901-49任务

5.87-PHP中使用Redis
5.88-Redis主从配置
5.89-Redis高可用哨兵介绍

5.87 PHP中使用Redis

5.87.1php安装redis扩展模块

  • 使用pecl安装
    /usr/local/php-fpm/bin/pecl install redis #过程中保持默认
    vi /usr/local/php/etc/php.ini //增加extension = redis.so
  • 通过源码安装
    wget https://github.com/phpredis/phpredis/archive/4.2.0.tar.gz mv 4.2.0.tar.gz php-redis.tar.gz
    tar zxvf php-redis.tar.gz
    cd phpredis-4.2.0/
    /usr/local/php-fpm/bin/phpize
    ./configure --with-php-config=/usr/local/php-fpm/bin/php-config
    make && make install
    vi /usr/local/php/etc/php.ini //增加extension = redis.so

5.87.2 php中使用redis - 存储session

  • 修改php-fpm配置:
    vim /usr/local/php-fpm/etc/php.ini//更改或增加
    session.save_handler = "redis"//原来这里是"file"
    session.save_path = "tcp://127.0.0.1:6379"
    如何验证:
    /usr/local/php-fpm/bin/php -i |grep session
  • 或者apache虚拟主机配置文件中也可以这样配置:
    php_value session.save_handler "redis"
    php_value session.save_path "tcp://127.0.0.1:6379"
  • 或者php-fpm配置文件对应的pool中增加:
    php_value[session.save_handler] = redis
    php_value[session.save_path] = "tcp://127.0.0.1:6379"

5.87.3创建测试文件

wgt http://study.lishiming.net/.mem_se.txt mv .mem_se.txt session.php /usr/local/php/bin/php session.php

5.88Redis主从配置

  • 为了节省资源,我们可以在一台机器上启动两个redis服务
    cp /etc/redis.conf /etc/redis2.conf
    vim /etc/redis2.conf //需要修改port,dir,pidfile,logfile
  • 还要增加一行
    replicaof 127.0.0.1 6379
  • 如果主上设置了密码,还需要增加
    masterauth aminglinux>com //设置主的密码
  • 启动之前不要忘记创建新的dir目录
  • 启动从
    redis-server /etc/redis2.conf
  • 测试:在主上创建新的key,在从上查看

注意:redis主从和mysql主从不一样,redis主从不用事先同步数据,它会自动同步过去

5.89Redis sentinel介绍

Redis Sentinel是Redis高可用的实现方案。
Sentinel是一个管理多个Redis实例的工具,它可以实现对Redis的监控、通知、自动故障转移。

5.89.1 Redis Sentinel的主要功能

Sentinel的主要功能包括主节点存活检测、主从运行情况检测、自动故障转移(failover)、主从切换。
Redis的Sentinel最小配置是一主一从。 Redis的Sentinel系统可以用来管理多个Redis服务器,该系统可以执行以下四个任务:

  • 监控
    Sentinel会不断的检查主服务器和从服务器是否正常运行。

  • 通知
    当被监控的某个Redis服务器出现问题,Sentinel通过API脚本向管理员或者其他的应用程序发送通知。

  • 自动故障转移
    当主节点不能正常工作时,Sentinel会开始一次自动的故障转移操作,它会将与失效主节点是主从关系的其中一个从节点升级为新的主节点, 并且将其他的从节点指向新的主节点。

  • 配置提供者 在Redis Sentinel模式下,客户端应用在初始化时连接的是Sentinel节点集合,从中获取主节点的信息。

5.89.2 Redis Sentinel的工作流程

参考链接(含图):http://www.cnblogs.com/jifeng/p/5138961.html

  • Sentinel负责监控集群中的所有主、从Redis,当发现主故障时: Sentinel会在所有的从中选一个成为新的主。
    并且会把其余的从变为新主的从。
    同时那台有问题的旧主也会变为新主的从。
    也就是说当旧的主即使恢复时,并不会恢复原来的主身份,而是作为新主的一个从。

  • 在Redis高可用架构中,Sentinel往往不是只有一个,而是有3个或者以上。目的是为了让其更加可靠,毕竟主和从切换角色这个过程还是蛮复杂的。

5.89.3 相关概念

  • 主观失效 SDOWN(subjectively down),直接翻译的为”主观”失效,即当前sentinel实例认为某个redis服务为”不可用”状态.

  • 客观失效 ODOWN(objectively down),直接翻译为”客观”失效,即多个sentinel实例都认为master处于”SDOWN”状态,那么此时master将处于ODOWN,ODOWN可以简单理解为master已经被集群确定为”不可用”,将会开启failover

转载于:https://my.oschina.net/u/4067478/blog/3034464

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运维变更管理流程是IT项目运维资料中的一个重要组成部分。它是指在IT项目运维过程中,对于运维变更的管理步骤和方法。在v1.3版本中,运维变更管理流程有以下几个关键步骤。 首先,运维变更管理流程的第一步是需求识别和评估。在这一步骤中,运维团队会与项目业务负责人沟通,了解需求变更的原因和影响范围,并进行评估,以确定变更是否合理和可行。 第二步是变更规划和设计。在这一步骤中,运维团队会制定变更计划,确定执行过程中所需的资源和时间,并制定详细的变更方案和测试策略。这一步骤的目的是为了确保变更顺利进行,能够满足业务需求。 第三步是变更实施和测试。在这一步骤中,运维团队会按照变更计划进行系统的更新、配置、安装或其他处理,并进行相应的测试,以确保变更不会对系统的稳定性和安全性产生负面影响。这一步骤的重点是确保变更的准确性和可靠性。 第四步是变更评估和审批。在这一步骤中,运维团队会对变更的实施结果进行评估,并进行相应的审批。评估的目的是检查变更是否达到了预期的效果,并在确保变更安全可靠的基础上进行批准。 最后一步是变更记录和文档管理。在这一步骤中,运维团队会将变更的详细记录和文档进行整理和存档,以备将来的参考和回溯。这样可以确保变更过程的可追溯性和可复现性。 通过以上的运维变更管理流程,IT项目运维团队能够有效地管理和控制运维变更的过程,确保变更的安全性、稳定性和可靠性,并提供变更过程的可追溯性和文档管理。这样可以最大程度地降低变更引起的风险和不确定性,确保系统的稳定运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值