国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 延津县| 巩留县| 枣庄市| 罗平县| 东源县| 莆田市| 蓬莱市| 古浪县| 黎平县| 和林格尔县| 汤原县| 原平市| 亳州市| 卢湾区| 吐鲁番市| 五寨县| 凤翔县| 五莲县| 乌海市| 江北区| 诸暨市| 贵定县| 塔城市| 循化| 保靖县| 石楼县| 广宗县| 海林市| 高雄市| 荃湾区| 阿坝县| 无极县| 家居| 平利县| 昭觉县| 通州市| 南漳县| 长兴县| 通许县| 渭南市| 灵山县|