久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区

世界看點:美團二面:如果每天有百億流量,你如何保證數據一致性?
來源:今日頭條    時間:2022-08-24 07:52:21

一、前情提示

這篇文章,咱們繼續來聊聊之前的億級流量架構的演進。老規矩!我們首先看一下這個復雜的系統架構演進到當前階段,整體的架構圖是什么樣子的。


(資料圖片僅供參考)

筆者再次友情提醒,如果各位小伙伴對下面這個復雜的架構圖還有什么不理解的地方,一定要先回看之前的文章,因為系列文必須對上下文有清晰的理解和認識。

接著文本我們來聊聊一個核心系統每天承載百億流量的背景下,應該如何來保證復雜系統中的數據一致性?

二、什么是數據一致性?

簡單來說,在一個復雜的系統中一定會對一些數據做出非常復雜的處理,而且可能是多個不同的子系統,甚至是多個服務。

對一個數據按照一定的順序依次做出復雜的業務邏輯的執行,最終可能就會生產出一份寶貴的系統核心數據,落地到存儲里去,比如說在數據庫里存儲。

給大家來一張手繪彩圖,感受下這個現場的氛圍:

從上圖中我們就可以看到,多個系統如何對一個數據依次進行處理,最終拿到一份核心數據,并落地到存儲里去。

那么在這個過程中,就可能會產生所謂的數據不一致的問題。

什么意思呢?給大家舉一個最簡單的例子,我們本來期望數據的變化過程是:數據1 -> 數據2 -> 數據3 -> 數據4。

那么最后落地到數據庫里的應該是數據4,對不對?

結果呢?不知道為啥,經過上面那個復雜的分布式系統中的各個子系統,或者是各個服務的協作處理,最后居然搞出來一個數據87。

搞了半天,搞了一個跟數據4風馬牛不相及的一個東西,最后落地到了數據庫里。

然后啊,這套系統的最終用戶,可能通過前臺的界面看到了一個莫名其妙的數據87。

這就尷尬了,用戶明顯會覺得這個數據有錯誤,就會反饋給公司的客服,此時就會上報bug到工程師團隊,大家就開始吭哧吭哧的找問題。

上面說的這個場景,其實就是一種數據不一致的問題,也是我們接下來幾篇文章要討論的一個問題。

實際上,在任何一個大規模分布式系統里,都會存在類似的問題。無論是電商,O2O,還是本文舉例的數據平臺系統,都一樣。

三、一個數據計算鏈路的梳理

那么既然已經明確了問題,接下來就來看看在數據平臺這個系統里,到底是什么問題可能會導致一個最終落地存儲的數據的異常呢?

要明白這個問題,咱們先回過頭看看,在之前提過的數據平臺這個項目里,一個最終落地的數據的計算鏈路是什么樣的?

大家看看下面的圖:

如上圖所示,其實從最簡單的一個角度來說,這個數據計算的鏈路大概也就是上面的那個樣子。

首先,通過MySQL binlog采集中間件獲取到數據,轉發給數據接入層。然后,數據接入層會把原始數據落地到kv存儲里去接著,是實時計算平臺會從kv存儲里提取數據進行計算最后,會將計算結果寫入到數據庫+緩存的集群里。數據查詢平臺會從數據庫 + 緩存的集群里提取數據,提供用戶來進行查詢

看起來很簡單,對吧?

但是哪怕是這個系統里,數據計算鏈路,也絕對不是這么簡單的。

如果大家看過之前的系列文章的話,就應該知道,這個系統為了支撐高并發、高可用、高性能等場景,引入了大量的復雜機制。

所以實際上一條原始數據進入到系統,一直到最后落地到存儲里,計算鏈路還會包含下面的東西:

接入層的限流處理實時計算層的失敗重試實時計算層的本地內存存儲的降級機制數據分片的聚合與計算,單條數據在這里可能會進入一個數據分片里數據查詢層的多級緩存機制

上面只不過是隨便列舉了幾條。然而哪怕只是上述幾條,都可以把一個數據的計算鏈路變得復雜很多倍了。

四、數據計算鏈路的bug

既然大家已經明白了,在一個復雜系統里,一份核心數據可能是經過一個極為復雜的計算鏈路的處理,中間百轉千回,任何可能的情況都會發生。

那么就可以理解在大型分布式系統中,數據不一致的問題是如何產生的了。

其實原因非常的簡單,說白了,就是數據計算鏈路的bug。

也就是說,在數據的計算過程中,某個子系統出現了bug,并沒有按照我們預期的行為去處理,導致最終產出去的數據變得錯誤了。

那么,為什么會在數據計算鏈路中出現這種bug呢?

原因很簡單,如果大家曾經參與過上百人協作的大型分布式系統,或者是主導過上百人協作開發的大型分布式系統的架構設計,應該對核心數據的異常和錯誤非常熟悉,并且會感到頭疼不已。

大規模分布式系統中,動輒上百人協作開發。很可能某個子系統或者是某個服務的負責人,對數據的處理邏輯理解偏差了,代碼里寫了一個隱藏的bug。

而這個bug,輕易不會觸發,并且在QA測試環境還沒測出來,結果帶著一顆定時炸彈,系統上線。

最后在線上某種特殊的場景下,觸發了這個bug,導致最終的數據出現問題。

五、電商庫存數據的不一致問題

接觸過電商的同學,可能此時腦子里就可以快速的想到一個類似的經典場景:電商中的庫存。

在大規模的電商系統中,庫存數據絕對是核心中的核心。但是實際上,在一個分布式系統中,很多系統可能都會采用一定的邏輯來更新庫存。

這就可能導致跟上述說的場景類似的問題,就是多個系統都更新庫存,但就是某個系統對庫存的更新出現了bug。

這可能是因為那個系統的負責人沒理解到底應該如何更新庫存,也或者是他更新的時候采用的邏輯,沒有考慮到一些特殊情況。

這樣導致的結果就是,系統里的庫存和倉庫中實際的庫存,死活對不上。但就是不知道到底哪個環節出了問題,導致庫存數據出錯。

這個,其實就是一個典型的數據不一致的問題。

六、大型系統的數據不一致排查有多困難

當面對一個大型分布式系統時,如果你之前壓根兒沒考慮過數據不一致的問題,那么我敢打賭,當你負責的系統在線上被客服反饋有某個核心數據不一致的時候,你絕對會一臉蒙圈。

因為一個核心數據的處理,少則涉及幾個系統的協作處理,多則涉及十個以上的系統的協作處理。

如果你沒有留存任何日志、或者僅僅就是有部分日志,然后基本就只能所有人干瞪眼,大家大眼對小眼,都盯著自己的代碼看。

大家根據一個數據最后的錯誤結果,比如數據87。10多個人對著自己的代碼,反復的思考,冥思苦想。

然后每個人都在大腦中瘋狂的模擬自己代碼的運行,但是就是想不明白,為什么本來應該是數據4的,結果出來了一個數據87?

所以現實問題就是這樣,這種數據不一致的問題,大概有以下幾個痛點:

自己基本無法主動提前感知到數據問題,要被動等待用戶發現,反饋給客服,這很可能導致你的產品被大量投訴,老板很生氣,后果很嚴重。

即使客服告訴了你數據錯了,但是你們沒法還原現場,沒有留存證據,基本就是一群工程師對著代碼想象,猜測。

即使你解決了一次數據不一致的問題,但是以后也許還有下一次,這樣搞下去,會導致團隊里好幾個能干的小伙兒時間都搭在這種破事兒上。

關鍵詞: 分布式系統 數據一致性 協作處理 實時計算

X 關閉

X 關閉

久久国产精品一区二区三区四区,久色婷婷小香蕉久久,国产日韩欧美在线播放不卡,另类av一区二区
亚洲一区视频在线观看视频| 激情久久久久久| 9色国产精品| 亚洲制服av| 午夜精品美女久久久久av福利| 免费成人黄色av| 久久久精品一区二区三区| 亚洲国产精品尤物yw在线观看| 国产在线高清精品| 久久精品国产成人| 亚洲久久一区| 国内精品嫩模av私拍在线观看| 精品999在线观看| 亚洲一区二区三区精品在线观看| 亚洲一区不卡| 国产午夜精品美女视频明星a级| 99v久久综合狠狠综合久久| 美女黄网久久| 一区二区三区免费网站| 欧美日韩国产探花| 国产精品伦理| 国产日韩欧美中文在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 欧美精品七区| 久久久久久9| 国产精品视频在线观看| 在线成人h网| 欧美波霸影院| 在线观看一区视频| 国产一区二区三区丝袜| 国产在线观看91精品一区| 一区二区欧美视频| 国产精品v欧美精品∨日韩| 国产精品女人久久久久久| 黄色精品一二区| 黄色一区二区在线观看| 国产一区二区三区不卡在线观看| 欧美日韩国内自拍| 亚洲欧美高清| 亚洲国产婷婷香蕉久久久久久| 欧美中文字幕在线视频| 国产精品wwwwww| 久久精品视频亚洲| 亚洲一区精品在线| 翔田千里一区二区| 久久久综合网站| 亚洲欧美久久久久一区二区三区| 亚洲国产成人久久| 欧美亚洲成人免费| 亚洲日本中文字幕| 久久不射网站| 久久国产综合精品| 先锋a资源在线看亚洲| 亚洲国产精品专区久久| 好看不卡的中文字幕| 在线亚洲电影| 亚洲欧洲在线观看| 激情综合色丁香一区二区| 久久久久久久综合色一本| 久久看片网站| 亚洲影视在线| 亚洲欧美日韩一区二区| 欧美国产日韩视频| 国产精品麻豆成人av电影艾秋| 一区二区三区四区国产精品| 好男人免费精品视频| 韩日成人av| 久久九九精品| 欧美激情第3页| 国产九九精品视频| 日韩午夜中文字幕| 欧美日韩性生活视频| 久久一区二区三区超碰国产精品| 欧美日韩妖精视频| 亚洲福利视频网| 国产麻豆综合| 亚洲人成久久| 亚洲激情偷拍| 狠狠色丁香久久婷婷综合_中| 欧美亚洲成人免费| 国内精品伊人久久久久av一坑| 亚洲午夜视频| 中日韩美女免费视频网站在线观看| 国产亚洲精品久久久久婷婷瑜伽| 国产精品麻豆欧美日韩ww| 欧美午夜视频网站| 狠狠久久五月精品中文字幕| 亚洲欧美日韩人成在线播放| 久久免费99精品久久久久久| 国产欧美日韩精品a在线观看| 国产精品毛片在线看| 亚洲国产成人久久综合一区| 99精品视频免费观看| 欧美一区国产在线| 欧美日韩高清在线观看| 午夜一区二区三区在线观看| 亚洲伊人网站| 亚洲一区二区少妇| 亚洲香蕉伊综合在人在线视看| 亚洲日本成人在线观看| 欧美成年人视频网站欧美| 亚洲国产一区二区三区高清| 久久成人免费电影| 欧美绝品在线观看成人午夜影视| 欧美一级视频| 国产精品一区二区三区久久久| 在线观看视频一区二区| 一本久道综合久久精品| 国产精品久久一卡二卡| 在线欧美影院| 亚洲国产精品久久久久秋霞不卡| 国产亚洲精久久久久久| 欧美黄色免费| 久久国产加勒比精品无码| 欧美日韩xxxxx| 欧美日韩国产电影| 日韩午夜激情电影| 欧美激情一区二区三区成人| 日韩亚洲欧美综合| 亚洲午夜电影在线观看| 伊人一区二区三区久久精品| 午夜久久美女| 久久伊人免费视频| 亚洲国产精品久久久久婷婷884| 一区二区三区欧美视频| 国产精品视频yy9099| 欧美日韩国产页| 久久一区二区三区四区五区| 性欧美xxxx视频在线观看| 国产精品初高中精品久久| 欧美日韩视频不卡| 狠狠干综合网| 日韩午夜免费| 久久精品国产一区二区三| 国产亚洲福利社区一区| 国产精品一区二区三区免费观看| 日韩系列在线| 欧美激情综合| 国产精品chinese| 红桃av永久久久| 欧美二区在线观看| 久久久久久久一区二区三区| 欧美一激情一区二区三区| 玖玖综合伊人| 国产人妖伪娘一区91| 亚洲综合欧美日韩| 女主播福利一区| 欧美精品自拍偷拍动漫精品| av成人手机在线| 一本色道久久99精品综合| 欧美精品一区二区精品网| 久久国产综合精品| 红桃视频国产一区| 性伦欧美刺激片在线观看| 亚洲国产欧美一区二区三区丁香婷| 亚洲一区自拍| 欧美婷婷六月丁香综合色| 午夜精品成人在线| 欧美激情网站在线观看| 在线播放中文字幕一区| 亚洲最新中文字幕| 国产一区二区日韩精品欧美精品| 欧美高清在线观看| 在线国产精品播放| 欧美色欧美亚洲另类七区| 亚洲精品在线视频观看| 亚洲国产精品一区在线观看不卡| 99精品久久免费看蜜臀剧情介绍| 久久噜噜噜精品国产亚洲综合| 好吊一区二区三区| 久久免费一区| 亚洲欧美怡红院| 欧美极品一区| 欧美成人一区二区三区片免费| 久久精品国产久精国产爱| 欧美日韩中文字幕在线视频| 夜夜爽av福利精品导航| 久久婷婷久久一区二区三区| 欧美婷婷久久| 亚洲美女在线看| 久久一区国产| 91久久国产综合久久91精品网站| 在线观看欧美激情| 香蕉成人啪国产精品视频综合网| 国产乱肥老妇国产一区二| 久久综合国产精品| 久久久久在线| 国产精品视频一二三| 在线中文字幕不卡| 一本色道久久综合亚洲精品不| 亚洲人成网站色ww在线| 一区二区三区在线视频播放| 伊人久久综合| 久久久精品国产99久久精品芒果| 亚洲自拍16p| 亚洲人精品午夜| 国产精品海角社区在线观看| 久久精品夜色噜噜亚洲a∨| 欧美日韩国产小视频| 欧美影院成年免费版|