精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何讓網(wǎng)站不下線從Redis 2遷移到Redis 3

運(yùn)維 系統(tǒng)運(yùn)維 Redis
我們最近著手升級 Redis 服務(wù)器,此升級旨在使用 Redis 3.2 提供的原生集群功能。這篇博客希望解釋為什么我們要使用集群、我們遇到的問題以及我們的解決方案。

[[206583]]

我們在 Sky Betting&Gaming 中使用 Redis 作為共享內(nèi)存緩存,用于那些需要跨 API 服務(wù)器或者 Web 服務(wù)器鑒別令牌之類的操作。在 Core Tribe 內(nèi),它用來幫助處理日益龐大的登錄數(shù)量,特別是在繁忙的時(shí)候,我們在一分鐘內(nèi)登錄數(shù)量會超過 20,000 人。這在很大程度上適用于數(shù)據(jù)存放在大量服務(wù)器的情況下(在 SSO 令牌用于 70 臺 Apache HTTPD 服務(wù)器的情況下)。我們最近著手升級 Redis 服務(wù)器,此升級旨在使用 Redis 3.2 提供的原生集群功能。這篇博客希望解釋為什么我們要使用集群、我們遇到的問題以及我們的解決方案。

在開始階段(或至少在升級之前)

我們的傳統(tǒng)緩存中每個緩存都包括一對 Redis 服務(wù)器,使用 keepalive 確保始終有一個主節(jié)點(diǎn)監(jiān)聽浮動 IP floating IP地址。當(dāng)出現(xiàn)問題時(shí),這些服務(wù)器對需要很大的精力來進(jìn)行管理,而故障模式有時(shí)是非常各種各樣的。有時(shí),只允許讀取它所持有的數(shù)據(jù),而不允許寫入的從屬節(jié)點(diǎn)卻會得到浮動 IP 地址,這種問題是相對容易診斷的,但會讓無論哪個程序試圖使用該緩存時(shí)都很麻煩。

新的應(yīng)用程序

因此,這種情況下,我們需要構(gòu)建一個新的應(yīng)用程序,一個使用共享內(nèi)存緩存shared in-memory cache的應(yīng)用程序,但是我們不希望對該緩存進(jìn)行迂回的故障切換過程。因此,我們的要求是共享的內(nèi)存緩存,沒有單點(diǎn)故障,可以使用盡可能少的人為干預(yù)來應(yīng)對多種不同的故障模式,并且在事件恢復(fù)之后也能夠在很少的人為干預(yù)下恢復(fù),一個額外的要求是提高緩存的安全性,以減少數(shù)據(jù)泄露的范圍(稍后再說)。當(dāng)時(shí) Redis Sentinel 看起來很有希望,并且有許多程序支持代理 Redis 連接,比如 twemproxy。這會導(dǎo)致還要安裝其它很多組件,它應(yīng)該有效,并且人際交互最少,但它復(fù)雜而需要運(yùn)行大量的服務(wù)器和服務(wù),并且相互通信。

 

將會有大量的應(yīng)用服務(wù)器與 twemproxy 進(jìn)行通信,這會將它們的調(diào)用路由到合適的 Redis 主節(jié)點(diǎn),twemproxy 將從 sentinal 集群獲取主節(jié)點(diǎn)的信息,它將控制哪臺 Redis 實(shí)例是主,哪臺是從。這個設(shè)置是復(fù)雜的,而且仍有單點(diǎn)故障,它依賴于 twemproxy 來處理分片,來連接到正確的 Redis 實(shí)例。它具有對應(yīng)用程序透明的優(yōu)點(diǎn),所以我們可以在理論上做到將現(xiàn)有的應(yīng)用程序轉(zhuǎn)移到這個 Redis 配置,而不用改變應(yīng)用程序。但是我們要從頭開始構(gòu)建一個應(yīng)用程序,所以遷移應(yīng)用程序不是一個必需條件。

幸運(yùn)的是,這個時(shí)候,Redis 3.2 出來了,而且內(nèi)置了原生集群,消除了對單一 sentinel 集群需要。

 

它有一個更簡單的設(shè)置,但 twemproxy 不支持 Redis 集群分片,它能為你分片數(shù)據(jù),但是如果嘗試在與分片不一致的集群中這樣做會導(dǎo)致問題。有參考的指南可以使其匹配,但是集群可以自動改變形式,并改變分片的設(shè)置方式。它仍然有單點(diǎn)故障。正是在這一點(diǎn)上,我將永遠(yuǎn)感謝我的一位同事發(fā)現(xiàn)了一個 Node.js 的 Redis 的集群發(fā)現(xiàn)驅(qū)動程序,讓我們完全放棄了 twemproxy。

 

因此,我們能夠自動分片數(shù)據(jù),故障轉(zhuǎn)移和故障恢復(fù)基本上是自動的。應(yīng)用程序知道哪些節(jié)點(diǎn)存在,并且在寫入數(shù)據(jù)時(shí),如果寫入錯誤的節(jié)點(diǎn),集群將自動重定向該寫入。這是被選的配置,這讓我們共享的內(nèi)存緩存相當(dāng)健壯,可以沒有干預(yù)地應(yīng)付基本的故障模式。在測試期間,我們的確發(fā)現(xiàn)了一些缺陷。復(fù)制是在一個接一個節(jié)點(diǎn)的基礎(chǔ)上進(jìn)行的,因此如果我們丟失了一個主節(jié)點(diǎn),那么它的從節(jié)點(diǎn)會成為一個單點(diǎn)故障,直到死去的節(jié)點(diǎn)恢復(fù)服務(wù),也只有主節(jié)點(diǎn)對集群健康投票,所以如果我們一下失去太多主節(jié)點(diǎn),那么集群無法自我恢復(fù)。但這比我們過去的好。

向前進(jìn)

隨著使用集群 Redis 配置的新程序,我們對于老式 Redis 實(shí)例的狀態(tài)變得越來越不適應(yīng),但是新程序與現(xiàn)有程序的規(guī)模并不相同(超過 30GB 的內(nèi)存專用于我們最大的老式 Redis 實(shí)例數(shù)據(jù)庫)。因此,隨著 Redis 集群在底層得到了證實(shí),我們決定遷移老式的 Redis 實(shí)例到新的 Redis 集群中。

由于我們有一個原生支持 Redis 集群的 Node.js Redis 驅(qū)動程序,因此我們開始將 Node.js 程序遷移到 Redis 集群。但是,如何將數(shù)十億字節(jié)的數(shù)據(jù)從一個地方移動到另一個地方,而不會造成重大問題?特別是考慮到這些數(shù)據(jù)是認(rèn)證令牌,所以如果它們錯了,我們的終端用戶將會被登出。一個選擇是要求網(wǎng)站完全下線,將所有內(nèi)容都指向新的 Redis 群集,并將數(shù)據(jù)遷移到其中,以希望獲得最佳效果。另一個選擇是切換到新集群,并強(qiáng)制所有用戶再次登錄。由于顯而易見的原因,這些都不是非常合適的。我們決定采取的替代方法是將數(shù)據(jù)同時(shí)寫入老式 Redis 實(shí)例和正在替換它的集群,同時(shí)隨著時(shí)間的推移,我們將逐漸更多地向該集群讀取。由于數(shù)據(jù)的有效期有限(令牌在幾個小時(shí)后到期),這種方法可以導(dǎo)致零停機(jī),并且不會有數(shù)據(jù)丟失的風(fēng)險(xiǎn)。所以我們這么做了。遷移是成功的。

剩下的就是服務(wù)于我們的 PHP 代碼(其中還有一個項(xiàng)目是有用的,其它的最終是沒必要的)的 Redis 的實(shí)例了,我們在這過程中遇到了一個困難,實(shí)際上是兩個。首先,也是最緊迫的是找到在 PHP 中使用的 Redis 集群發(fā)現(xiàn)驅(qū)動程序,還要是我們正在使用的 PHP 版本。這被證明是可行的,因?yàn)槲覀兩壍搅俗钚掳姹镜?PHP。我們選擇的驅(qū)動程序不喜歡使用 Redis 的授權(quán)方式,因此我們決定使用 Redis 集群作為一個額外的安全步驟 (我告訴你,這將有更多的安全性)。當(dāng)我們用 Redis 集群替換每個老式 Redis 實(shí)例時(shí),修復(fù)似乎很直接,將 Redis 授權(quán)關(guān)閉,這樣它將會響應(yīng)所有的請求。然而,這并不是真的,由于某些原因,Redis 集群不會接受來自 Web 服務(wù)器的連接。 Redis 在版本 3 中引入的稱為“保護(hù)模式”的新安全功能將在 Redis 綁定到任何接口時(shí)將停止監(jiān)聽來自外部 IP 地址的連接,并無需配置 Redis 授權(quán)密碼。這被證明相當(dāng)容易修復(fù),但讓我們保持警惕。

現(xiàn)在?

這就是我們現(xiàn)在的情況。我們已經(jīng)遷移了我們的一些老式 Redis 實(shí)例,并且正在遷移其余的。我們通過這樣做解決了我們的一些技術(shù)債務(wù),并提高了我們的平臺的穩(wěn)定性。使用 Redis 集群,我們還可以擴(kuò)展內(nèi)存數(shù)據(jù)庫并擴(kuò)展它們。 Redis 是單線程的,所以只要在單個實(shí)例中留出更多的內(nèi)存就會可以得到這么多的增長,而且我們已經(jīng)緊跟在這個限制后面。我們期待著從新的集群中獲得改進(jìn)的性能,同時(shí)也為我們提供了擴(kuò)展和負(fù)載均衡的更多選擇。

未來怎么樣?

我們解決了一些技術(shù)性債務(wù),這使我們的服務(wù)更容易支持,更加穩(wěn)定。但這并不意味著這項(xiàng)工作完成了,Redis 4 似乎有一些我們可能想要研究的功能。而且 Redis 并不是我們使用的唯一軟件。我們將繼續(xù)努力改進(jìn)平臺,縮短處理技術(shù)債務(wù)的時(shí)間,但隨著客戶群體的擴(kuò)大,我們力求提供更豐富的服務(wù),我們總是會遇到需要改進(jìn)的事情。下一個挑戰(zhàn)可能與每分鐘超過 20,000次 登錄到超過 40,000 次甚至更高的擴(kuò)展有關(guān)。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2010-07-20 09:48:33

2016-10-26 16:44:44

WatchfinderAWS云計(jì)算

2011-06-24 10:10:35

SVN

2022-03-19 16:47:47

WordPress網(wǎng)站遷移服務(wù)器

2020-01-06 12:50:50

Windows 7遷移Windows 10

2009-04-16 17:23:37

OracleBasicFileSecureFile

2010-09-29 11:06:21

活動目錄OpenLDAP

2011-04-27 09:39:53

EclipseIntelliJ

2015-06-17 13:26:41

FICOVMwareOpenStack

2013-06-21 13:49:08

MariaDB

2012-05-21 10:23:36

2017-10-20 08:45:15

數(shù)據(jù)庫MongoDBMySQL

2019-01-07 08:10:54

微服務(wù)單體 Web

2023-12-07 07:14:36

WebpackVite

2009-02-06 10:32:00

UnixLinux服務(wù)器

2013-05-03 09:49:38

MySQLMariaDB

2011-04-25 09:35:31

TwitterJava

2020-07-27 11:35:26

GitHub代碼開發(fā)者

2025-10-29 08:06:49

2022-06-06 07:24:09

Caddy開源Ubuntu
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲免费中文| 九九在线精品| 欧美日韩另类在线| 欧美亚洲另类久久综合| 在线观看不卡的av| 黄色欧美成人| 国产亚洲免费的视频看| 国产又粗又猛大又黄又爽| 国模私拍一区二区国模曼安| 日本一区二区三区在线观看| 国产精品国产三级欧美二区| 国产精品第6页| 亚洲小说区图片区| 在线视频免费一区二区| 佐佐木明希电影| 电影天堂国产精品| 亚洲国产另类精品专区| 亚洲欧美成人一区| 四虎精品成人影院观看地址| 国产专区综合网| 琪琪第一精品导航| 青青草国产在线观看| 免费观看久久av| 精品日韩成人av| 亚洲免费黄色录像| 免费观看一级欧美片| 一区二区三区四区高清精品免费观看| 日韩尤物视频| 亚洲欧洲成人在线| 国产电影一区二区三区| 91精品国产自产在线观看永久| aaa人片在线| 韩国亚洲精品| 色综合视频网站| 国产精品国产三级国产传播| 波多野结衣在线观看一区二区| 亚洲国内精品视频| 中文字幕制服丝袜| 亚洲开心激情| 精品欧美黑人一区二区三区| 国产精品999.| 成人黄色理论片| 欧美嫩在线观看| 性欧美在线视频| 农村妇女一区二区| 欧美三级视频在线播放| 十八禁视频网站在线观看| 九色porny丨入口在线| 亚洲成人一二三| 无码人妻少妇伦在线电影| 日韩特级毛片| 亚洲国产视频在线| 欧美一级视频在线播放| aa级大片免费在线观看| 五月天国产精品| 91视频最新入口| 中文在线免费二区三区| 一本一道久久a久久精品| 欧美日韩激情视频在线观看| 欧美私密网站| 色噜噜久久综合| 国产福利影院在线观看| 久久99国产精品二区高清软件| 欧美色手机在线观看| 亚洲欧美日韩三级| 亚洲国产中文在线| 亚洲成年人影院在线| 白嫩情侣偷拍呻吟刺激| 亚洲免费福利一区| 亚洲天堂av在线播放| 任我爽在线视频| 欧美特黄视频| 韩国精品久久久999| 福利网址在线观看| 麻豆91精品91久久久的内涵| 91日本视频在线| 六月丁香色婷婷| 久久久久国产精品麻豆ai换脸 | 天天爽夜夜爽一区二区三区| 日韩成人精品一区二区三区| 日韩视频在线一区二区| 少妇激情一区二区三区视频| 精品一区电影| 麻豆国产va免费精品高清在线| 亚洲一区二区91| 久久一区激情| 国产厕所精品在线观看| 伦理片一区二区三区| 亚洲色图.com| 成年人免费在线播放| 亚洲精品69| 亚洲激情电影中文字幕| 日韩精品电影一区二区三区| 韩日精品视频| 国产精品入口免费视频一| 超碰在线人人干| 国产网站一区二区三区| 久久男人资源站| av成人免费| 亚洲国产精品一区二区三区| 99热99这里只有精品| 亚洲激情专区| 成人免费高清完整版在线观看| 蜜桃视频污在线观看| 国产精品久久久久久久蜜臀| 国产一线二线三线女| 一区在线影院| 亚洲加勒比久久88色综合| 91香蕉一区二区三区在线观看| 日韩一级网站| av蓝导航精品导航| 午夜在线视频| 色综合久久66| 亚洲香蕉中文网| 99久久婷婷这里只有精品 | 久久久影院官网| 嫩草影院中文字幕| 久久精品 人人爱| 亚洲精品自拍偷拍| 久久精品国产av一区二区三区| 麻豆免费精品视频| 欧美一区国产一区| 亚洲精品mv| 亚洲国产精久久久久久久| 放荡的美妇在线播放| 久久99久久99| 日韩资源av在线| 色老头在线一区二区三区| 日韩精品一区二区三区在线 | 亚洲国产日韩av| av地址在线观看| 66久久国产| 国产主播欧美精品| 幼a在线观看| 欧美色倩网站大全免费| 久久久久久国产精品无码| 亚洲经典在线看| 国产乱码精品一区二区三区不卡| 在线看福利影| 日韩视频免费直播| av激情在线观看| 国产美女久久久久| 香蕉视频免费版| 精品午夜av| 欧美日本黄视频| 懂色av一区二区三区四区| 一区二区三区四区激情| 四虎成人免费视频| 亚洲无线视频| 国内精品**久久毛片app| av在线加勒比| 亚洲美女视频网| caoporn国产| 日本一区二区免费在线观看视频 | 91一区二区在线| 国产伦精品一区二区三区四区视频_| 国产精品99久久免费观看| 98精品在线视频| 免费观看成年在线视频网站| 色综合久久中文字幕综合网 | 亚洲黄色在线视频| 亚洲av午夜精品一区二区三区| 国内久久视频| 久久免费看av| 国产韩日精品| 蜜臀久久99精品久久久久久宅男 | 9.1麻豆精品| 欧美日韩电影在线观看| 香蕉国产在线视频| 欧美体内she精视频| 99久久久免费精品| 国产成人精品影视| 成年人黄色片视频| 欧美3p在线观看| www 成人av com| 成人性生活视频| 最好看的2019年中文视频 | 日韩国产高清视频在线| 午夜视频网站在线观看| 亚洲免费毛片网站| 亚洲一区二区在线免费| 天堂va蜜桃一区二区三区漫画版| 亚洲亚洲精品三区日韩精品在线视频| 中文成人在线| 91精品国产免费久久久久久| 国产尤物视频在线| 日韩美一区二区三区| 亚洲欧美综合另类| 自拍偷拍国产亚洲| av在线网站观看| 韩国女主播成人在线观看| 男人添女人下部高潮视频在观看| 日韩成人影院| 黑人中文字幕一区二区三区| 日韩大陆av| 青青久久av北条麻妃海外网| 求av网址在线观看| 日韩精品欧美国产精品忘忧草| 亚洲一区中文字幕永久在线| 亚洲第一主播视频| 东京热无码av男人的天堂| 成人h精品动漫一区二区三区| 国产精品视频中文字幕| 日韩视频三区| 免费成人深夜夜行网站视频| av资源久久| 精品高清视频| 亚洲经典视频| 91视频免费在线| 欧美日韩视频免费观看| 国内自拍欧美激情| 综合久久2o19| 色婷婷综合久久久久中文字幕1| 午夜av免费在线观看| 日韩一区二区不卡| 一区二区三区精| 色悠悠亚洲一区二区| 国产无套粉嫩白浆内谢| 亚洲三级在线看| 国产精品无码无卡无需播放器| av网站一区二区三区| 男插女视频网站| 激情偷乱视频一区二区三区| 一级在线免费视频| 水野朝阳av一区二区三区| 久久99中文字幕| 国产精品videosex极品| 影音先锋成人资源网站| 91蜜臀精品国产自偷在线| 欧美一区二区视频17c| 伊人久久大香线蕉| 久久久综合亚洲91久久98| 精品深夜福利视频| 国产精品美女xx| 国产亚洲精品美女久久| 成人羞羞视频免费| 日韩精品一区国产| 亚洲资源在线看| 国产精品一区三区在线观看| 成人网址在线观看| 99久久999| 91色中文字幕| 亚洲一区电影| 国产精品yjizz| 久久久久97| 精品999在线观看| 亚州av一区| 欧美精品久久| 欧美一区电影| 亚洲一区不卡在线| 91精品啪在线观看国产81旧版| 日本xxxxx18| 欧美日韩专区| 18岁网站在线观看| 美女网站久久| 国产高潮免费视频| 韩国v欧美v日本v亚洲v| 欧美日韩理论片| 高清在线观看日韩| 91丨porny丨对白| 久久先锋影音av鲁色资源| 久久只有这里有精品| 久久精品一区二区三区不卡| 成人一级片免费看| 综合久久综合久久| 久久人人爽人人爽人人| 午夜欧美视频在线观看| www毛片com| 欧美日韩精品综合在线| 国产高中女学生第一次| 亚洲第一中文字幕在线观看| 男人的天堂在线视频| 色综久久综合桃花网| 性xxxfreexxxx性欧美| 2018中文字幕一区二区三区| 在线国产成人影院| 亚洲在线视频观看| 偷窥自拍亚洲色图精选| 亚洲欧洲一区二区在线观看| 91tv精品福利国产在线观看| 人人妻人人添人人爽欧美一区| 日本vs亚洲vs韩国一区三区二区| 国产探花在线观看视频| 91麻豆免费视频| 国产传媒免费在线观看| 黄色91在线观看| 亚洲天堂视频在线| 亚洲精品久久久一区二区三区 | 69久久久久久| 国产成人小视频| 蜜桃传媒一区二区亚洲| 一区二区成人在线| 人人妻人人爽人人澡人人精品| 91精品国产入口| 欧美日本网站| 色综合男人天堂| 欧美一区二区三区婷婷| 国内精品视频免费| 91久久电影| 日韩av在线综合| 国产成人精品一区二区三区网站观看 | 天天综合网站| 国产视频不卡| 中文精品久久| 啊啊啊国产视频| 26uuu亚洲综合色| 青娱乐国产盛宴| 欧美剧情电影在线观看完整版免费励志电影| 午夜黄色小视频| 操人视频在线观看欧美| 成人在线免费av| 久久久久久九九| 国内精品嫩模av私拍在线观看| 爱豆国产剧免费观看大全剧苏畅 | 欧美中文娱乐网| 亚洲无吗在线| 日韩精品xxx| 亚洲欧洲99久久| 在线观看毛片网站| 亚洲欧美中文字幕| 国内精彩免费自拍视频在线观看网址| 亚洲a中文字幕| 97人人精品| 一道本在线免费视频| 国产亚洲成年网址在线观看| 伊人手机在线视频| 亚洲国产欧美自拍| 日本色护士高潮视频在线观看 | 亚洲图片一区二区| www.国产黄色| 久久69精品久久久久久国产越南| 欧美风情在线视频| 亚洲不卡1区| 亚洲中字黄色| 性欧美13一14内谢| 欧美日韩免费区域视频在线观看| 亚洲精品国产片| 国内精品在线一区| 欧美黄色影院| 欧美日韩激情视频在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 亚州国产精品视频| 亚洲精品美女网站| 激情国产在线| 欧美日韩在线观看一区| 天堂一区二区在线| 天美传媒免费在线观看| 欧美日韩精品一区二区三区蜜桃 | 国产在线观看91一区二区三区 | 国产成人aaa| 国产亚洲精品成人| 亚洲第一av网站| 日韩电影免费看| 欧美主播一区二区三区美女 久久精品人| 老鸭窝91久久精品色噜噜导演| a天堂中文字幕| 欧美日韩成人在线| 在线视频中文字幕第一页| 国产精品一级久久久| 亚洲伊人网站| 精品人体无码一区二区三区| 欧美另类变人与禽xxxxx| a级在线观看| 精品国产二区在线| 日韩中文字幕亚洲一区二区va在线| 国产主播av在线| 欧美成人bangbros| 三上悠亚国产精品一区二区三区| 无遮挡亚洲一区| 国产精品中文字幕日韩精品| 欧美福利视频一区二区| 国产亚洲精品久久久久动| 四虎在线精品| 精品无码一区二区三区在线| 久久精品综合网| 国产免费久久久| 韩国三级日本三级少妇99| 在线综合亚洲| 婷婷色一区二区三区| 欧美丰满嫩嫩电影| 九九精品调教| 日韩精品国内| 国产成人精品1024| 国产成人无码一区二区在线播放| 深夜福利日韩在线看| 日本高清久久| 女人另类性混交zo| 亚洲精品国产无套在线观| 色视频在线观看| 91视频国产一区| 蜜桃av综合| 免费人成年激情视频在线观看| 亚洲人a成www在线影院| 欧美三级一区| 99视频在线视频| 午夜精品一区二区三区免费视频| av男人的天堂在线| 九九九九九九精品| 国产精品综合av一区二区国产馆| 人人妻人人爽人人澡人人精品|