精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

久热精品视频在线观看| 欧美日韩午夜影院| 久久国产精品一区二区三区四区 | 欧美香蕉爽爽人人爽| 视频在线在亚洲| 俺去亚洲欧洲欧美日韩| 少妇伦子伦精品无吗| 性孕妇free特大另类| 成人18精品视频| 国产精品青青在线观看爽香蕉| 18岁成人毛片| 日本精品一二区| 视频一区视频二区中文| 欧美另类精品xxxx孕妇| 一级片视频免费看| 波多野结衣欧美| 欧美性大战久久久| 少妇av一区二区三区无码| av在线中文| jiyouzz国产精品久久| 国产精品欧美日韩久久| 日韩av片在线播放| 欧美va天堂在线| 一本色道久久综合亚洲精品小说 | 成人午夜福利视频| 免费精品视频在线| 97人洗澡人人免费公开视频碰碰碰| 国产第一页精品| 欧美男人操女人视频| 日韩亚洲电影在线| 一级做a免费视频| 欧美性xxx| 无吗不卡中文字幕| 青青草视频国产| 大片免费在线观看| 国产精品拍天天在线| 免费一区二区三区在在线视频| 精品人妻少妇嫩草av无码专区| 日本视频中文字幕一区二区三区| 91国产视频在线| 久久av高潮av无码av喷吹| 日韩理论电影| 这里只有精品丝袜| 亚洲人成人无码网www国产| 国产精东传媒成人av电影| 91精选在线观看| 成人日韩在线视频| 久久人体av| 欧美吻胸吃奶大尺度电影| www日韩视频| 亚洲欧美在线成人| 欧美日韩国产精品| 免费高清在线观看免费| 桃色av一区二区| 精品久久久久久久久久| 欧美一区二区中文字幕| 国产拍在线视频| 欧美视频精品一区| 日韩欧美视频网站| 国产欧美一区二区三区精品酒店| 日韩欧美精品网址| 免费国产成人av| 色综合天天色| 欧美精品久久99| 国产黄色一区二区三区| av不卡一区二区| 亚洲经典中文字幕| 国产aⅴ激情无码久久久无码| 偷窥自拍亚洲色图精选| 亚洲人成网在线播放| 亚洲日本精品视频| 99久久久久国产精品| 日韩在线观看免费网站| 登山的目的在线| 午夜欧美精品久久久久久久| 欧美激情在线视频二区| 日本黄色片视频| 视频一区在线视频| 成人一区二区电影| 特级丰满少妇一级aaaa爱毛片| 99国产精品久久| 日本一区视频在线观看| 毛片网站在线免费观看| 一区二区三区中文字幕精品精品 | 久久精品免费看| 91久久久久久久一区二区| 亚洲AV无码国产精品午夜字幕| 成人精品一区二区三区中文字幕| 久久er99热精品一区二区三区| 国产三级视频在线看| 日韩毛片一二三区| 久久99中文字幕| 日本欧美韩国| 欧美r级在线观看| 大又大又粗又硬又爽少妇毛片| 日韩片欧美片| 国内精品久久久久伊人av| 色老头一区二区| 国产成人精品影院| 丝袜美腿玉足3d专区一区| 污污视频在线| 欧美系列在线观看| 三级视频网站在线观看| 日韩一区二区在线| 欧美亚洲国产精品| 97免费观看视频| www久久精品| 91传媒免费视频| 影视一区二区三区| 亚洲国产另类久久精品| 国产黄a三级三级| 香蕉精品999视频一区二区| 成人在线视频福利| 免费成人av电影| 一级日本不卡的影视| 一区二区三区 欧美| 国产在线播放精品| 欧美成年人视频| 亚洲视频在线观看一区二区| 99re热这里只有精品免费视频| 影音欧美亚洲| 国产私拍福利精品视频二区| 亚洲风情亚aⅴ在线发布| 亚洲伦理一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 成人黄动漫网站免费| 蜜桃视频在线观看www社区| 午夜视频久久久久久| 波多野结衣在线免费观看| 欧美日韩在线二区| 欧美在线视频在线播放完整版免费观看| jizz日本在线播放| 亚洲在线日韩| 国产一级精品aaaaa看| 日韩另类在线| 欧美一区二区免费视频| 免费精品在线视频| 美腿丝袜在线亚洲一区| 先锋影音一区二区三区| 91精品韩国| 亚洲欧洲国产精品| 91精品国产高清一区二区三密臀| 99视频在线观看一区三区| 性高湖久久久久久久久aaaaa| 日韩高清在线观看一区二区| 久久高清视频免费| 国产a级免费视频| 亚洲卡通欧美制服中文| 伊人免费视频二| 真实国产乱子伦精品一区二区三区| 国产精品一区专区欧美日韩| 91大神xh98hx在线播放| 欧美日韩国产经典色站一区二区三区 | 黄色片视频网站| av在线不卡电影| 免费国产a级片| 要久久电视剧全集免费| 欧美中文字幕视频| 九色在线免费| 精品视频全国免费看| 综合 欧美 亚洲日本| 韩国一区二区视频| 喜爱夜蒲2在线| 成人涩涩网站| 日本乱人伦a精品| 成人在线观看网站| 欧美精品三级日韩久久| 欧美色图亚洲天堂| 91麻豆免费在线观看| 国产一区亚洲二区三区| 久久精品国产大片免费观看| 成人免费黄色网| 啦啦啦中文在线观看日本| 亚洲国产精品国自产拍av秋霞| 日韩视频在线观看一区| 日本一区二区三区国色天香| 亚洲a∨一区二区三区| av成人在线播放| 欧美成人中文字幕| 少妇高潮一区二区三区69| 91久久香蕉国产日韩欧美9色| 中文字幕91视频| 成人精品鲁一区一区二区| 日韩免费毛片视频| 久久精品久久久| 国语精品中文字幕| 黄色成人小视频| 久久久这里只有精品视频| 黄色在线播放| 欧美成人高清电影在线| 亚洲天堂男人av| 一区二区三区成人在线视频| 超碰97人人干| 国产乱妇无码大片在线观看| 免费国产黄色网址| 亚洲h色精品| 欧洲精品一区色| 一区二区三区视频播放| 国产ts一区二区| 性网站在线观看| 国产一区二区三区网站| 亚洲女人18毛片水真多| 欧美视频中文字幕| 91美女免费看| 亚洲激情中文1区| 天天摸日日摸狠狠添| 成人精品免费网站| 深爱五月综合网| 青青青伊人色综合久久| 成年人午夜视频在线观看| 亚洲成人国产| 日韩理论片在线观看| 国产乱人伦丫前精品视频| 成人免费在线网址| 99riav视频一区二区| 91av中文字幕| 岛国av在线网站| 米奇精品一区二区三区在线观看| 国产午夜在线视频| 亚洲精品97久久| 免费看黄网站在线观看| 在线成人午夜影院| 一区二区视频在线免费观看| 欧美性生交大片免费| www.天天色| 亚洲永久精品大片| 男人与禽猛交狂配| 中文字幕亚洲综合久久菠萝蜜| 无码h肉动漫在线观看| 成人小视频在线| 日韩高清在线一区二区| 免费视频最近日韩| jizz欧美激情18| 可以看av的网站久久看| 九九九九免费视频| 中文在线不卡| 日韩中文字幕三区| 亚洲影音一区| 久久婷婷五月综合色国产香蕉| 亚洲图片在线| 日韩一级片免费视频| 在线播放精品| 青青草国产精品视频| 亚洲经典在线看| 日本a在线免费观看| 在线成人黄色| 无码专区aaaaaa免费视频| 国产精品videosex极品| 日韩精品视频在线观看视频| 亚洲午夜91| 日韩国产一级片| 国产农村妇女精品一区二区| a√天堂在线观看| 午夜亚洲精品| youjizzxxxx18| 狠狠久久亚洲欧美| 国产又黄又嫩又滑又白| 成人国产精品免费观看视频| 亚洲黄色免费在线观看| 91视频在线看| 亚洲午夜精品久久久久久高潮| 欧美激情在线看| 日本一二三区在线观看| 亚洲最新在线观看| 国产69精品久久久久久久久久| 色婷婷激情久久| 国产视频在线观看免费 | 国产精品国产亚洲伊人久久| jizzyou欧美16| 成人自拍性视频| 美女视频亚洲色图| 日本一区高清不卡| 91成人国产| 国产素人在线观看| 美腿丝袜亚洲综合| 一级黄色电影片| 国产亚洲视频系列| 免费高清在线观看电视| 亚洲成人1区2区| www.久久久久久久| 91精品国产综合久久小美女| 老熟妇高潮一区二区高清视频| 亚洲精品一区二区三区不| 麻豆传媒在线免费| 8x拔播拔播x8国产精品| 黄色日韩网站| 国产在线观看一区| 久久精品免费一区二区三区| 日本网站免费在线观看| 免费高清在线一区| 99热超碰在线| 国产精品成人一区二区三区夜夜夜| 久久精品国产亚洲AV无码麻豆| 日本国产一区二区| 亚洲国产精品久久人人爱潘金莲| 亚洲午夜久久久影院| 污污视频在线| 国产精品主播视频| 偷拍精品福利视频导航| 日日噜噜夜夜狠狠久久丁香五月 | 一区二区三区.www| 国产亚洲欧美日韩高清| 精品日韩在线一区| 97在线观看免费观看高清| 高清欧美性猛交| 99亚洲男女激情在线观看| 免费成人深夜夜行视频| 欧美日本一区二区高清播放视频| 日韩福利视频在线| 北条麻妃国产九九精品视频| 亚洲女人久久久| 色欧美片视频在线观看| www黄色在线观看| 日韩综合视频在线观看| 精品国产免费人成网站| 国产精品国模大尺度私拍| 亚洲色图88| 向日葵污视频在线观看| 久久伊人中文字幕| 日韩福利片在线观看| 欧美成人高清电影在线| 91蜜桃在线视频| 成人有码在线视频| 无码一区二区三区视频| 日本特黄a级片| 国产日产欧美一区二区视频| 可以在线观看av的网站| 亚洲丁香婷深爱综合| 国模雨婷捆绑高清在线| 亚洲a一级视频| 亚洲电影影音先锋| av亚洲天堂网| 国产精品美女久久久久久2018| 日韩在线视频不卡| 亚洲欧美日韩网| 久久久男人天堂| 精品国产一区二区三区麻豆小说 | 26uuu另类亚洲欧美日本老年| 91午夜精品| 成人午夜免费在线视频| 国产精品亚洲人在线观看| 亚洲成人生活片| 日韩亚洲欧美成人一区| 午夜小视频福利在线观看| 亚洲自拍另类欧美丝袜| 女人香蕉久久**毛片精品| 成人在线短视频| 亚洲图片欧美色图| 黄色片一区二区| 91精品国产沙发| 国产精品欧美在线观看| www.99av.com| 一区二区中文字幕在线| 国产老妇伦国产熟女老妇视频| 久久视频这里只有精品| 日韩亚洲精品在线观看| 日韩av新片网| 91社区在线播放| 最近中文字幕免费观看| 少妇久久久久久| 日本综合精品一区| 老太脱裤让老头玩ⅹxxxx| 91丨porny丨国产入口| 国产精品欧美综合| 久久久成人的性感天堂| 国产精品超碰| 激情婷婷综合网| 综合分类小说区另类春色亚洲小说欧美 | 亚洲精选91| 在线观看日本中文字幕| 欧美日韩国产综合一区二区三区| 91福利国产在线观看菠萝蜜| 国产精品视频在线免费观看 | 亚洲综合在线五月| 手机看片一区二区| 国产精品日韩在线观看| 自产国语精品视频| www.色天使| 欧美一级日韩一级| 成人性生交大片免费网站| 亚洲视频小说| www.亚洲精品| 中文字幕在线一| 97香蕉久久超级碰碰高清版| 日产精品一区二区| 99热超碰在线| 欧美男人的天堂一二区| www.超碰在线| 在线成人性视频| 91在线视频在线| 91禁在线观看| 26uuu亚洲伊人春色| 亚洲高清影视| 欧美特黄一区二区三区| 日韩午夜小视频| 欧美日韩在线精品一区二区三区激情综合 | 欧美裸体视频| 日本三日本三级少妇三级66| 91久色porny| 免费a视频在线观看|