免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
作為通用架構(gòu)師,我是如何把控遷移技術(shù)方案的

本文講解的方法論是一種通用的遷移方案,既適合字段遷移、表遷移、也適合庫遷移以及應(yīng)用遷移,既適合數(shù)據(jù)庫的遷移也適合緩存的遷移,雖然在細(xì)節(jié)上有些不同,但是在方法論上則大同小異,我們以分片后的數(shù)據(jù)容量不能滿足需求,需要對分片后的數(shù)據(jù)擴(kuò)容為例,這里的擴(kuò)容實際上是遷移的一種特殊案例,我們以擴(kuò)容為例來說明相應(yīng)的步驟和實現(xiàn)細(xì)節(jié)。

1. 平滑遷移

平滑遷移適合對可用性要求較高的場景,例如,線上的交易服務(wù)對緩存或者數(shù)據(jù)庫依賴較大,不能忍受停機(jī)帶來的業(yè)務(wù)損失,也沒有交易的低峰期,我們對此只能采用平滑遷移的方式。

平滑遷移,是指將正在提供線上服務(wù)的數(shù)據(jù),從一個地方數(shù)據(jù)存儲到另一個數(shù)據(jù)存儲,整個遷移過程中要求不停機(jī),服務(wù)不受影響。根據(jù)數(shù)據(jù)所處層次,可以分為緩存遷移、數(shù)據(jù)庫存儲遷移、應(yīng)用遷移等等;根據(jù)數(shù)據(jù)遷移前后的變化,又可以分為數(shù)據(jù)平移和數(shù)據(jù)轉(zhuǎn)移。數(shù)據(jù)庫對數(shù)據(jù)庫的遷移屬于平移,數(shù)據(jù)庫對其他Nosql庫的遷移屬于數(shù)據(jù)轉(zhuǎn)移。??數(shù)據(jù)平移是指遷移前后數(shù)據(jù)組織形式不變,比如Mysql數(shù)據(jù)庫從1個實例擴(kuò)展為4個實例,Redis緩存從2個實例擴(kuò)展到8個實例,等等。

如果在最初的設(shè)計里就為以后的擴(kuò)容做好準(zhǔn)備,也就是做了充分的容量評估,關(guān)于容量評估,請參考《分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》的第3章的內(nèi)容,那么數(shù)據(jù)遷移工作就會簡單很多,比如Mysql已經(jīng)做了分庫分表,擴(kuò)展實例的時候,只需要多做幾個從庫,切換訪問關(guān)系,最后將冗余的庫表刪除即可達(dá)到擴(kuò)容的效果,當(dāng)然,這需要短暫的停止服務(wù)。

近年來出現(xiàn)很多支持自動可伸縮的數(shù)據(jù)庫,在實現(xiàn)上已經(jīng)做到全自動數(shù)據(jù)遷移,如HBase、TiDB等,那就更簡單了,只要通過管理功能來添加機(jī)器,手工修改配置或者系統(tǒng)自動發(fā)現(xiàn),就可完成數(shù)據(jù)庫容,也就免去了發(fā)雜的數(shù)據(jù)遷移等工作。??數(shù)據(jù)轉(zhuǎn)移是指在數(shù)據(jù)遷移前后,數(shù)據(jù)組織形式發(fā)生了變化。比如將Mysql數(shù)據(jù)庫遷移到HBase數(shù)據(jù)庫,微博就經(jīng)歷過這樣的過程。

平滑遷移通常使用的是雙寫方案,方案分成4個步驟:雙寫、遷移歷史數(shù)據(jù)、切讀、下雙寫。

這種方式如果應(yīng)用與緩存擴(kuò)容的遷移的場景,則還有一個變種,就是不需要遷移舊數(shù)據(jù),在第1步中雙寫后,在一定的時間里通過新規(guī)則對新緩存進(jìn)行寫入,新緩存已經(jīng)有了足夠的數(shù)據(jù),這樣我們就不用再遷移舊數(shù)據(jù),直接進(jìn)入第3步即可。

首先,假設(shè)我們的應(yīng)用現(xiàn)在使用了具有兩個分片的數(shù)據(jù)集群,通過關(guān)鍵字哈希的方式進(jìn)行路由,如下圖所示。

因為兩個分片已經(jīng)不能滿足容量的需求,所以現(xiàn)在需要擴(kuò)容到4個分片,達(dá)到原來兩倍的總大小,因此我們需要遷移。

遷移的具體過程如下。

1. 雙寫


按照新規(guī)則和舊規(guī)則同時往新新舊數(shù)據(jù)系統(tǒng)中寫數(shù)據(jù),如下圖所示。

2. 遷移歷史數(shù)據(jù)


把舊緩存集群中的歷史數(shù)據(jù)讀取出來,按照新的規(guī)則寫到新的數(shù)據(jù)集群中,如下圖所示。

3. 切讀


把應(yīng)用層所有的讀操作路由到新的數(shù)據(jù)集群上,如下圖所示。

在這一步驟里,把應(yīng)用中讀取的操作的數(shù)據(jù)源轉(zhuǎn)換成新的數(shù)據(jù)集群,這是應(yīng)用的讀寫操作已經(jīng)完全發(fā)生在新的數(shù)據(jù)庫集群上了。這一步一般不需要上線代碼,我們會在一開始上雙寫時就實現(xiàn)開關(guān)邏輯,這里只需要將讀的開關(guān)切換到新的集群即可。

4. 下線雙寫


在這一步,我們把寫入舊的集群的邏輯下線,,如下圖所示。

閱讀全文請報名Gitchat的嘮嗑節(jié)目。




推薦一起學(xué)習(xí)《分布式服務(wù)架構(gòu):原理、設(shè)計與實戰(zhàn)》一書,它是一本不可多得的理論與實踐相結(jié)合的架構(gòu)秘籍,是作者多年工作經(jīng)驗積累的結(jié)晶。京東購買請掃描下方二維碼。



如果你想成為優(yōu)秀的架構(gòu)師

在【云時代架構(gòu)】精品群免費(fèi)進(jìn)!

我在【云時代架構(gòu)】技術(shù)社區(qū),你在哪里?

還等什么,趕快加入【云時代架構(gòu)】技術(shù)社區(qū)!

請猛掃下面二維碼。

云時代架構(gòu)

做互聯(lián)網(wǎng)時代最適合的架構(gòu)

開放、分享、協(xié)作

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
史上最全java架構(gòu)師技能圖譜(下)
華為架構(gòu)師與你一起探索高并發(fā)緩存架構(gòu)(有示例代碼)
「轉(zhuǎn)」炸!億級數(shù)據(jù)DB秒級平滑擴(kuò)容
阿里P8架構(gòu)師談:分布式緩存的應(yīng)用場景、選型比較、問題和挑戰(zhàn)
架構(gòu)師之路-redis集群解析
全是干貨!流傳出來的網(wǎng)站架構(gòu)師10年經(jīng)驗(上)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服