微服務(wù)架構(gòu)下需要什么樣的數(shù)據(jù)庫

      網(wǎng)友投稿 884 2025-04-02

      “微服務(wù)架構(gòu)下需要什么樣的數(shù)據(jù)庫?”作為一個數(shù)據(jù)庫開發(fā)人員,深知應(yīng)用技術(shù)和數(shù)據(jù)庫技術(shù)的緊密關(guān)系,自從知道微服務(wù)這個概念以來,這個問題就一直縈繞在我的腦海中。后來參與一個大型的金融企業(yè)業(yè)務(wù)上云微服務(wù)改造項目,并親自完成了數(shù)據(jù)層的改造,這才對微服務(wù)對數(shù)據(jù)庫技術(shù)的影響有了直觀的認識。


      因為涉及到企業(yè)隱私,就以網(wǎng)上比較通用的一個業(yè)務(wù)模型舉例。傳統(tǒng)企業(yè)應(yīng)用服務(wù)架構(gòu)采用的是“巨石”架構(gòu),也就是將所有“大腦”集中在一起,以 CS 架構(gòu)為代表,將所有的邏輯放在一個應(yīng)用中。在這種架構(gòu)下,所有業(yè)務(wù)模塊的數(shù)據(jù)都集中到一個數(shù)據(jù)庫中,即使在最開始的業(yè)務(wù)設(shè)計時進行了比較清晰的表結(jié)構(gòu)劃分,但獲取數(shù)據(jù)最方便的方式就是直接關(guān)聯(lián)表數(shù)據(jù)。一般的開發(fā)團隊也不會對跨模塊的信息傳遞做硬性規(guī)定,只要性能能抗的住,SQL語句就沒問題,一旦有問題DBA給抓出來再打回去重改。

      傳統(tǒng)應(yīng)用的巨石架構(gòu)

      久而久之,數(shù)據(jù)庫的表越來越多,越來越復(fù)雜,最后可能沒有一個人能說清楚每個表都是干什么的;SQL語句可能也越寫越復(fù)雜,兩個表關(guān)聯(lián)、三個表關(guān)聯(lián),套上幾層子查詢... 不久數(shù)據(jù)規(guī)模進一步增大,SQL已經(jīng)不能通過調(diào)優(yōu)解決了。這時一般的做法是,再換上一套更新的小機,再加上最新的高端陣列,好像又可以運轉(zhuǎn)飛快了。

      微服務(wù)架構(gòu)下需要什么樣的數(shù)據(jù)庫

      如果世界沒有什么變化,這一切看起來也不錯,傳統(tǒng)三件套價格雖高,但還算非常穩(wěn)定。可是傳統(tǒng)業(yè)務(wù)也都逐漸由各地分布走向集中管理和運維,而且面向互聯(lián)網(wǎng)的業(yè)務(wù)也逐漸增多,這樣對系統(tǒng)提出了新的要求,總結(jié)起來就是4S?[1],

      微服務(wù)

      4S本身有很廣的內(nèi)涵,具體到數(shù)據(jù)庫技術(shù)層面可以總結(jié)為:

      “Scale”系統(tǒng)可以隨數(shù)據(jù)量的急劇增加要能夠隨需伸縮;

      “Speed”服務(wù)請求響應(yīng)時延要低;

      “Safety”服務(wù)質(zhì)量和穩(wěn)定性要求高;

      “Sharing”系統(tǒng)資源可以共享;

      微服務(wù)架構(gòu)

      雖然應(yīng)用做了微服務(wù)拆分,但并不代表數(shù)據(jù)規(guī)模一定會小,某些服務(wù)(如訂單服務(wù))的數(shù)據(jù)庫由于數(shù)據(jù)逐漸累積,會逐漸膨脹,超出單個數(shù)據(jù)庫實例的管理能力;其次互聯(lián)網(wǎng)類應(yīng)用訪問量會隨著某些活動而發(fā)生劇烈波動,比如在雙11、618促銷中訪問量通常是平時的2倍以上,需要提前對后臺處理能力進行擴容,所以微服務(wù)會部署到企業(yè)私有云或者公有云平臺上,數(shù)據(jù)庫自然也需要支持云平臺管控。然后各種微服務(wù)的數(shù)據(jù)類型,業(yè)務(wù)模型都有差異,以前在一個庫里都只能遵守同樣的數(shù)據(jù)分片方案,現(xiàn)在拆分后,完全可以根據(jù)業(yè)務(wù)特點采用不同的數(shù)據(jù)分片方案。另外一個具備企業(yè)級性能、可靠性數(shù)據(jù)庫引擎也是必不可少的。最后,如果要支持更高的可用性,需要采用多中心部署,為了在不降低性能的情況下保證RPO=0,支持分布式一致性協(xié)議必要的。

      可見微服務(wù)時代,業(yè)務(wù)對數(shù)據(jù)庫的要求不是更低了而是更高了,需要這樣的一個數(shù)據(jù)庫:

      1、支持云化部署或者多租戶管理能力;(“Sharing”)

      2、支持在線水平擴容和水平縮容;(“Scale”)

      3、支持多種數(shù)據(jù)分片方案(哈希、列表、范圍),這樣可以根據(jù)業(yè)務(wù)特點靈活選擇,保障性能最優(yōu);(“Speed”)

      4、支持完美分片和兩階段事務(wù)自適應(yīng),保障性最優(yōu);(“Speed”)

      5、企業(yè)級穩(wěn)定及高性能的數(shù)據(jù)庫引擎;(“Safety”\“Speed”)

      6、通過分布一致性協(xié)議支持多副本在多地多中心靈活部署;(“Safety”)

      參考:

      微服務(wù) SQL 數(shù)據(jù)庫

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:WPS演示插入Flash文件詳細步驟
      下一篇:excel做賬的教程
      相關(guān)文章
      91亚洲精品麻豆| 2020久久精品亚洲热综合一本 | 久久亚洲中文字幕无码| 亚洲国产成人在线视频| 亚洲精品456在线播放| 亚洲视频一区网站| 亚洲激情校园春色| 亚洲乱码中文论理电影| 中文字幕在线日亚洲9| 亚洲无人区码一二三码区别图片 | 久久久久亚洲精品中文字幕| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲综合激情另类专区| 亚洲综合色自拍一区| 亚洲精品国产字幕久久不卡| 亚洲国产a∨无码中文777| 亚洲精品人成在线观看| 久久精品九九亚洲精品| 亚洲另类古典武侠| 亚洲一级特黄特黄的大片| 亚洲av无码专区在线观看亚| 国产精品观看在线亚洲人成网| 亚洲av中文无码| 狠狠综合久久综合88亚洲| 国产亚洲精品精华液| 亚洲人成在线影院| 亚洲最大在线观看| 亚洲色成人四虎在线观看| 爱情岛论坛亚洲品质自拍视频网站| 亚洲AⅤ优女AV综合久久久| 在线观看亚洲天天一三视| 日本红怡院亚洲红怡院最新| 久久久久亚洲AV无码麻豆| 亚洲国产成人久久| 亚洲AV一区二区三区四区| 亚洲国产精品激情在线观看| 亚洲无线码一区二区三区| 亚洲av激情无码专区在线播放| 亚洲视频在线一区二区三区| 亚洲色欲色欱wwW在线| 亚洲国产精品13p|