<beitmemcached>
<add key="name1" value="server1:port" />
<add key="name2" value="server1:port,server2:port,server3:port"/>
</beitmemcached>

我使用的客户端是BeITMemcached,配置文件可以有两种方式,如上面代码,有单台配置和多台配置

问题:

在用单台服务器配置时,如果这台memecache服务器挂掉的话,那么客户端这边该缓存节点就使用不了了,影响程序的运行

在用多台配置时,如果其中一台挂掉,你存入缓存的时候,客户端会根据你缓存的key值,用一致性hash算法来选择存入哪台缓存服务器,如果你运气不好,正好存到了那台有问题的服务器上,对不起,写入失败。

解决方案:

使用多台配置方案,修改客户端源代码,如果其中一台服务器挂掉,在缓存操作失败的时候,将该有问题的缓存服务器剔除客户端集合,比如有A,B,C三台memcache服务,如果B挂了,在操作缓存的时候,会有异常,这时候将B从该序列中剔除,只使用A,C来进行操作;

设定一个检测间隔时间,每次操作缓存时,在间隔时间之后,都会检测有问题的服务器,如果服务器恢复正常,则将其重新加入缓存服务器集合中。

使用方法:

public MemcachedClient GetClient()
{
var mc = MemcachedClient.GetInstance("name2", true);
return mc;
}

只要在获取客户端实例的时候,多加一个true参数就可以了

下载地址:http://pan.baidu.com/s/1eQtOO6Y

其他解决办法:

可以使用memagent来对memcache进行集群配置,不过我感觉每台服务器都要安装一个软件,各种配置比较麻烦,我的方法比较简单,自己感觉还是很实用的。

Memcached解决单台服务器故障问题的更多相关文章

  1. [转载]利用memcached在多台服务器之间共享PHP的session数据

    原文地址:利用memcached在多台服务器之间共享PHP的session数据作者:a1049709658 最近我的几篇文章都是是最近项目的一点心得^^ 这个项目一开始就设计的"很大&quo ...

  2. 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

  3. cobbler单台服务器实现批量自动化安装不同版本系统-技术流ken

    前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. ...

  4. 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少

    高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少     阅读(81374) | 评论(9)收藏16 淘帖1 赞3   JackJiang Lv.9    1 年前 | 前言 曾几何时我 ...

  5. 【 Linux 】单台服务器上并发TCP连接数

    单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的 ...

  6. 【 Linux 】单台服务器上并发TCP连接数(转)

    单台服务器上并发TCP连接数    问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制:    对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的 ...

  7. 网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

    曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来 ...

  8. 单台服务器最大tcp连接

    如果对服务器进行压力测试,常常出现这种情况 tcp连接数过多 netstat   -an    windows查看tcp连接数 那么怎么增加单台服务器的最大连接数呢?       最简单的办法,增加内 ...

  9. ElasticSearch 5学习(3)——单台服务器部署多个节点

    一般情况下单台服务器只会部署一个ElasticSearch node,但是在学习过程中,很多情况下会需要实现ElasticSearch的分布式效果,所以需要启动多个节点,但是学习开发环境(不想开多个虚 ...

随机推荐

  1. UVA 253 (13.08.06)

     Cube painting  We have a machine for painting cubes. It is supplied withthree different colors: blu ...

  2. ACM-经典DP之Monkey and Banana——hdu1069

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  3. 开机就提示“请安装TCP/IP协议,error=10106”的解决的方法

    一.问题描写叙述: 今天开机时提示"请安装TCP/IP协议,error=10106",现象是popo,qq等登录不了,IE浏览器等连不了网,使用ping命令ping其它机器和路由器 ...

  4. 关于jsb中js与c++的相互调用

    1.js调用c++函数 在c++中声明函数,名为functionCpp,通过spidermonkey中jsapi的JS_DefineFunction绑定一个js函数,名为functionJS,此函数名 ...

  5. 基于sqlite的Qt 数据库封装

    [代码] mydata.h 10 #ifndef MYDATA_H 11 #define MYDATA_H 12 #include <QObject> 13 #include <QS ...

  6. 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题

    环境介绍 主机: XP 虚拟机:VirtualBox+Debian6 遇到的问题 我有一块西部数据的移动硬盘,虚拟机中有一些资料需要拷贝到移动硬盘中,然后我将移动硬盘插上后,执行如下设置,将移动硬盘分 ...

  7. 关于解决 The processing instruction target matching "[xX][mM][lL]" is not allowed

    在处理和保存XML文件时,出现The processing instruction target matching "[xX][mM][lL]" is not allowed 错误 ...

  8. 关于Android悬浮窗要获取按键响应的问题

    要在Android中实现顶层的窗口弹出,一般都会用WindowsManager来实现,但是几乎所有的网站资源都是说弹出的悬浮窗不用接受任何按键响应. 而问题就是,我们有时候需要他响应按键,比如电视上的 ...

  9. Find the Clones

    Find the Clones Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 6365   Accepted: 2375 D ...

  10. #pragma weak

    采用 #pragma weak name 形式时,指令使 name 成为弱符号.链接程序没有找到 name 的符号定义时,不会显示错误消息,也不会出现符号的多个弱定义的错误消息.链接程序仅执行第一个遇 ...