国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Memcached解決單臺服務器故障問題

2019-11-17 02:34:55
字體:
來源:轉載
供稿:網友

Memcached解決單臺服務器故障問題

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

我使用的客戶端是BeITMemcached,配置文件可以有兩種方式,如上面代碼,有單臺配置和多臺配置

問題:

在用單臺服務器配置時,如果這臺memecache服務器掛掉的話,那么客戶端這邊該緩存節(jié)點就使用不了了,影響程序的運行

在用多臺配置時,如果其中一臺掛掉,你存入緩存的時候,客戶端會根據(jù)你緩存的key值,用一致性hash算法來選擇存入哪臺緩存服務器,如果你運氣不好,正好存到了那臺有問題的服務器上,對不起,寫入失敗。

解決方案:

使用多臺配置方案,修改客戶端源代碼,如果其中一臺服務器掛掉,在緩存操作失敗的時候,將該有問題的緩存服務器剔除客戶端集合,比如有A,B,C三臺memcache服務,如果B掛了,在操作緩存的時候,會有異常,這時候將B從該序列中剔除,只使用A,C來進行操作;

設定一個檢測間隔時間,每次操作緩存時,在間隔時間之后,都會檢測有問題的服務器,如果服務器恢復正常,則將其重新加入緩存服務器集合中。

使用方法:

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

只要在獲取客戶端實例的時候,多加一個true參數(shù)就可以了

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

其他解決辦法:

可以使用memagent來對memcache進行集群配置,不過我感覺每臺服務器都要安裝一個軟件,各種配置比較麻煩,我的方法比較簡單,自己感覺還是很實用的。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石城县| 寿宁县| 柳林县| 宣威市| 安塞县| 齐齐哈尔市| 长海县| 周至县| 阿瓦提县| 隆子县| 巴里| 涡阳县| 清丰县| 宁津县| 彩票| 曲靖市| 民乐县| 大悟县| 甘南县| 嘉鱼县| 惠来县| 财经| 井研县| 商洛市| 青岛市| 开平市| 错那县| 万宁市| 清丰县| 蛟河市| 天镇县| 四子王旗| 鸡泽县| 大足县| 太仆寺旗| 高安市| 阳山县| 奇台县| 旬邑县| 沽源县| 乌兰察布市|