YII实现Memcache故障转移的配置办法

YII在默认配置下连接Memcache失败时会报错,要想实现故障转移就要改一下配置和代码

1、首先修改一下YII的 caching/CMemCache.php,我的版本是 1.1.7

找到

$cache->addServer($server->host,$server->port,$server->persistent,$server->weight,$server->timeout,$server->status);

改为

$cache->addServer(
  $server->host,
  $server->port,
  $server->persistent,
  $server->weight,
  $server->timeout,
  $server->retryInterval,
  $server->status);

原因:源码中少了 retryInterval 参数,这是故障转移的关键参数

retry_interval 的官方解释

服务器连接失败时重试的间隔时间,默认值15秒。如果此参数设置为-1表示不重试。

FROM http://php.net/manual/zh/memcache.addserver.php

2、修改YII应用的配置文件 protected/config/main.php 中的cache配置项

‘cache‘=>array(
            ‘class‘=>‘system.caching.CMemCache‘,
            //‘useMemcached‘=> true,
            ‘servers‘=>array(
                 array(
                     ‘host‘=>‘127.0.0.1‘,
                     ‘port‘=>11211,
                     ‘weight‘=>40,
                     ‘timeout‘ => 5,
                     ‘retryInterval‘ => -1
                 ),
                array(
                     ‘host‘=>‘127.0.0.1‘,
                     ‘port‘=>11212,
                     ‘weight‘=>30,
                     ‘timeout‘ => 5,
                     ‘retryInterval‘ => -1
                 ),
                array(
                     ‘host‘=>‘127.0.0.1‘,
                     ‘port‘=>11213,
                     ‘weight‘=>50,
                     ‘timeout‘ => 5,
                     ‘retryInterval‘ => -1
                 ),
            ),
         ),

以上代码中只有一个是能正确使用的MC服务器,即端口是11211的服务器是正常开启的

如此配置也能正常运行了

YII实现Memcache故障转移的配置办法

时间: 2024-10-08 22:03:59

YII实现Memcache故障转移的配置办法的相关文章

SQlsever2008R2故障转移群配置

SQlsever2008R2故障转移群配置 实验环境及到三台虚拟机: 计算机pc1:角色:DC,DNS,安装有WindowsServer 2008 R2,搭建域环境,域名test.com,IP地址192.168.1.1 节点计算机两台:pc2和pc3,每台服务器上有两个网卡,安装有Windows Server 2008 R2,已加入到域.两块网卡IP地址分别192.168.1.2,10.10.10.2和192.168.1.3,10.10.10.3.10.10.10.2的网卡负责心跳网络 1.部署

搭建iSCSI文件服务器故障转移群集

故障转移群集(Failover Cluster)可以提供一个高可用性应用程序或服务的网络环境,本章将接受如何搭建iSCSI SAN文件服务器故障转移群集. 故障转移群集概述 我们可以将多台服务器组成一个故障转移群集,这些服务器会协同工作以提高一个高可用性的应用程序或群集内每台服务器被称为一个节点(Node),节点之间通过网络硬件与软件连接在一起对用户提供服务,这个过程被称为故障转移,它让用户能够不中断的继续享有服务器提供的服务. 天太热,其他不高兴写,写一些注意事项,然后再把实验过程写一下. 群

SQL Server 2005故障转移群集

SQL Server使用最广的高可用性技术叫做故障转移群集.SQL Server故障转移群集是一项基于Windows故障转移群集的一种技术.SQL Server故障转移群集技术在部署和管理上都非常容易,同时又能提供非常良好高可用性,因此目前得到了非常广泛的使用.可以说,它是SQL2012之前的各个版本,实现高可用性的必选技术.下面我们就来聊聊SQL Server2005的故障转移群集配置. 配置SQL Server故障转移群集需要注意一下几个方面的问题: 1. 因为做SQL Server故障转移

Hyper-V故障转移群集搭建(4)

配置Hyper-V虚拟机高可用 故障转移群集配置OK后,一般的虚拟机管理,我们都是在群集管理器中或者通过SCVMM进行管理,但还有一种方法,还是通过Hyper-v管理器,但通过此方法创建的虚拟机是不具有高可用的,还需要将通过Hyper-V管理器创建的虚拟机添加到群集中. 以下是通过群集管理器的具体流程: 1. 通过群集管理器管理虚拟机 1) 打开群集管理器,右键:角色--虚拟机--新建虚拟机 2) 选择群集节点,承载虚机所需的资源 3) 打开虚拟机创建向导,点击:下一步 4) 输入虚拟机的名称,

打印机故障转移集群之六:创建故障转移集群、配置

创建集群 返回到"故障转移群集管理器",查看群集的工作状态,可以看到,仲裁磁盘是我们前面所创建的磁盘,如下图所示: 群集的配置: 群集网络的配置: 下面需要对群集内的各个网络进行相应的配置,以确定它们的用途. 针对net网络,我们需要允许客户端进行访问,所以进行下图所示的操作: DAG网络的配置: 此网络只用于节点间的通讯,所以不应该允许客户端访问,操作同上,取消客户端的访问.允许群集使用,但不允许客户端访问. 防火墙准备:节点服务器(PRT01\PRT02)上必须启用打印机共享,不然

Weblogic配置故障转移

前提:实现负载均衡,即当访问项目时,会通过代理服务器将请求分发到不同的服务器上. weblogic的故障转移配置 在项目的WEB-INF目录下创建weblogic.xml <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd&qu

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Wind

Always On 故障转移配置

目的: a) AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案. b) 当数据库服务器SQL1出现故障宕机时,可以通过AlwaysOn可用性组,自动故障转移到数据库服务器SQL2. =============== 具体步骤 =============== 1. 服务管理器添加Hype-V角色,并且新建3台虚拟机: a) AlwaysOn-SCSI : iSCSI目标服务器(用于创建仲裁磁盘和共享磁盘) b) AlwaysOn-SQL1 : 数据库服务

(转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自<Windows Server2012系统配置指南> 四种集群的仲裁配置: 1.多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供