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

2022經歷裁員之后,我總結了程序員必備的架構能力

開發 架構
MQ集群故障其實是有概率的,而且挺正常的,因為之前就有的大型互聯網公司,MQ集群故障之后,導致全平臺幾個小時都無法交易,嚴重的會造成幾個小時公司就有數千萬的損失。我們之前也遇到過MQ集群故障的場景,但是并不是這個系統里。

一、前情回顧

我們采用冷熱數據分離:

冷數據基于HBase+Elasticsearch+純內存自研的查詢引擎,解決了海量歷史數據的高性能毫秒級的查詢

熱數據基于緩存集群+MySQL集群做到了當日數據的幾十毫秒級別的查詢性能。

最終,整套查詢架構抗住每秒10萬的并發查詢請求,都沒問題。

本文作為這個架構演進系列的最后一篇文章,我們來聊聊高可用這個話題。所謂的高可用是啥意思呢?

簡單來說,就是如此復雜的架構中,任何一個環節都可能會故障,比如MQ集群可能會掛掉、KV集群可能會掛掉、MySQL集群可能會掛掉。那你怎么才能保證說,你這套復雜架構中任何一個環節掛掉了,整套系統可以繼續運行?

這就是所謂的全鏈路99.99%高可用架構,因為我們的平臺產品是付費級別的,付費級別,必須要為客戶做到最好,可用性是務必要保證的!

我們先來看看目前為止的架構是長啥樣子的。

二、MQ集群高可用方案

異步轉同步 + 限流算法 + 限制性丟棄流量

MQ集群故障其實是有概率的,而且挺正常的,因為之前就有的大型互聯網公司,MQ集群故障之后,導致全平臺幾個小時都無法交易,嚴重的會造成幾個小時公司就有數千萬的損失。我們之前也遇到過MQ集群故障的場景,但是并不是這個系統里。

大家想一下,如果這個鏈路中,萬一MQ集群故障了,會發生什么?

看看右上角那個地方,數據庫binlog采集中間件就無法寫入數據到MQ集群了啊,然后后面的流控集群也無法消費和存儲數據到KV集群了。這套架構將會徹底失效,無法運行。

這個是我們想要的效果嗎?那肯定不是的,如果是這樣的效果,這個架構的可用性保障也太差了。

因此在這里,我們針對MQ集群的故障,設計的高可用保障方案是:異步轉同步 + 限流算法 + 限制性丟棄流量。

簡單來說,數據庫binlog采集環節一旦發現了MQ集群故障,也就是嘗試多次都無法寫入數據到MQ集群,此時就會觸發降級策略。不再寫入數據到MQ集群,而是轉而直接調用流控集群提供的備用流量接收接口,直接發送數據給流控集群。

但是流控集群也比較尷尬,之前用MQ集群就是削峰的啊,高峰期可以稍微積壓一點數據在MQ集群里,避免流量過大,沖垮后臺系統。

所以流控集群的備用流量接收接口,都是實現了限流算法的,也就是如果發現一旦流量過大超過了閾值,直接采取丟棄的策略,拋棄部分流量。

但是這個拋棄部分流量也是有講究的,你要怎么拋棄流量?如果你不管三七二十一,胡亂丟棄流量,可能會導致所有的商家看到的數據分析結果都是不準確的。因此當時選擇的策略是,僅僅選擇少量商家的數據全量拋棄,但是大部分商家的數據全量保存。

也就是說,比如你的平臺用戶有20萬吧,可能在這個丟棄流量的策略下,有2萬商家會發現看不到今天的數據了,但是18萬商家的數據是不受影響,都是準確的。但是這個總比20萬商家的數據全部都是不準確的好吧,所以在降級策略制定的時候,都是有權衡的。

這樣的話,在MQ集群故障的場景下,雖然可能會丟棄部分流量,導致最終數據分析結果有偏差,但是大部分商家的數據都是正常的。

大家看看下面的圖,高可用保障環節全部選用淺紅色來表示,這樣很清晰。

三、KV集群高可用保障方案

臨時擴容Slave集群 + 內存級分片存儲 + 小時級數據粒度

下一個問題,如果KV集群掛了怎么辦?這個問題我們還真的遇到過,不過也不是在這個系統里,是在另外一個我們負責過的核心系統里,KV集群確實出過故障,直接從持續好多個小時,導致公司業務都幾近于停擺,損失也是幾千萬級別的。

大家看看那個架構圖的右側部分,如果KV集群掛了咋辦?那也是災難性的,因為我們的架構選型里,直接就是基于kv集群來進行海量數據存儲的,要是KV掛了,沒任何高可用保障措施的話,會導致流控集群無法把數據寫入KV集群,此時后續環節就無法繼續計算了。

我們當時考慮過要不要引入另外一套存儲進行雙寫,比如引入一套hbase集群,但是那樣依賴會搞的更加的復雜,打鐵還需自身硬,還是要從自身架構來做優化。

因此,當時選擇的一套kv集群降級的預案是:臨時擴容Slave集群 + 小時級數據粒度 + 內存級分片存儲。

簡單來說,就是一旦發現kv集群故障,直接報警。我們收到報警之后,就會立馬啟動臨時預案,手動擴容部署N倍的Slave計算集群。

接著同樣會手動打開流控集群的一個降級開關,然后流控集群會直接按照預設的hash算法分發數據到各個Slave計算節點。

這就是關鍵點,不要再基于kv集群存數據了,本身我們的Slave集群就是分布式計算的,那不是剛好可以臨時用作分布式存儲嗎!直接流控集群分發數據到Slave集群就行了,Slave節點將數據留存在內存中即可。

然后Master節點在分發數據計算任務的時候,會保證計算任務分發到某個Slave節點之后,他只要基于本地內存中的數據計算即可。

將Master節點和Slave節點都重構一下,重構成本不會太高,但是這樣就實現了本地數據存儲 + 本地數據計算的效果了。

但是這里同樣有一個問題,要知道當日數據量可是很大的!如果你都放Slave集群內存里還得了?

所以說,既然是降級,又要做一個balance了。我們選擇的是小時級數據粒度的方案,也就是說,僅僅在Slave集群中保存最近一個小時的數據,然后計算數據指標的時候,只能產出每個小時的數據指標。

但是如果是針對一天的數據需要計算出來的數據指標,此時降級過后就無法提供了,因為內存中永遠只有最近一個小時的數據,這樣才能保證Slave集群的內存不會被撐爆。

對用戶而言,就是只能看當天每個小時的數據指標,但是全天匯總的暫時就無法看到。

四、實時計算鏈路高可用保障方案

計算任務重分配 + 主備切換機制

下一塊就是實時計算鏈路的高可用保障方案了,其實這個之前給大家說過了,實時計算鏈路是一個分布式的架構,所以要么是Slave節點宕機,要么是Master節點宕機。

其實這個倒沒什么,因為Slave節點宕機,Master節點感知到了,會重新分配計算任務給其他的計算節點;如果Master節點宕機,就會基于Active-Standby的高可用架構,自動主備切換。

咱們直接把架構圖里的實時計算鏈路中的高可用環節標成紅色就可以了。

五、熱數據高可用保障方案

自研緩存集群查詢引擎 + JVM本地緩存 + 限流機制

接著咱們來看左側的數據查詢那塊,熱數據也就是提供實時計算鏈路寫入當日數據的計算結果的,用的是MySQL集群來承載主體數據,然后前面掛載一個緩存集群。

如果出現故障,只有兩種情況:一種是MySQL集群故障,一種是緩存集群故障。

咱們分開說,如果是MySQL集群故障,我們采取的方案是:實時計算結果直接寫入緩存集群,然后因為沒有MySQL支撐,所以沒法使用SQL來從MySQL中組裝報表數據。

因此,我們自研了一套基于緩存集群的內存級查詢引擎,支持簡單的查詢語法,可以直接對緩存集群中的數據實現條件過濾、分組聚合、排序等基本查詢語義,然后直接對緩存中的數據查詢分析過后返回。

但是這樣唯一的不好,就是緩存集群承載的數據量遠遠沒有MySQL集群大,所以會導致部分用戶看不到數據,部分用戶可以看到數據。不過這個既然是降級 ,那肯定是要損失掉部分用戶體驗的。

如果是緩存集群故障,我們會有一個查詢平臺里的本地緩存,使用ehcache等框架就可以實現,從mysql中查出來的數據在查詢平臺的jvm本地緩存里cache一下,也可以用作一定的緩存支撐高并發的效果。而且查詢平臺實現限流機制,如果查詢流量超過自身承載范圍,就限流,直接對查詢返回異常響應。

六、冷數據高可用保障方案

收集查詢日志 + 離線日志分析 + 緩存高頻查詢

其實大家看上面的圖就知道,冷數據架構本身就比比較復雜,涉及到ES、HBase等東西,如果你要是想做到一點ES、HBase宕機,然后還搞點兒什么降級方案,還是挺難的。

你總不能ES不能用了,臨時走Solr?或者HBase不能用了,臨時走KV集群?都不行。那個實現復雜度太高,不合適。

所以當時我們采取的方法就是,對最近一段時間用戶發起的離線查詢的請求日志進行收集,然后對請求日志在每天凌晨進行分析,分析出來那種每個用戶會經常、多次、高頻發起的冷數據查詢請求,然后對這個特定的查詢(比如特殊的一組條件,時間范圍,維度組合)對應的結果,進行緩存。

這樣就直接把各個用戶高頻發起的冷數據查詢請求的結果每天動態分析,動態放入緩存集群中。比如有的用戶每天都會看一下上周一周的數據分析結果,或者上個月一個月的數據分析結果,那么就可以把這些結果提前緩存起來。

一旦ES、HBase等集群故障,直接對外冷數據查詢,僅僅提供這些提前緩存好的高頻查詢即可,非高頻無緩存的查詢結果,就是看不到了。

七、最終總結

上述系統到目前為止,已經演進到非常不錯的狀態了,因為這套架構已經解決了百億流量高并發寫入,海量數據存儲,高性能計算,高并發查詢,高可用保障,等一系列的技術挑戰。線上生產系統運行非常穩定,足以應對各種生產級的問題。

其實再往后這套系統架構還可以繼續演進,因為大型系統的架構演進,可以持續N多年,比如我們后面還有分布式系統全鏈路數據一致性保障、高穩定性工程質量保障,等等一系列的事情,不過文章就不再繼續寫下去了,因為文章承載內容量太少,很難寫清楚所有的東西。

其實有不少同學跟我反饋說,感覺看不懂這個架構演進系列的文章,其實很正常,因為文章承載內容較少,這里有大量的細節性的技術方案和落地的實施,都沒法寫出來,只能寫一下大型系統架構不斷演進,解決各種線上技術挑戰的一個過程。

我覺得對于一些年輕的同學,主要還是了解一下系統架構演進的過程,對于一些年長已經做架構設計的兄弟,應該可以啟發一些思路。?

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-01-03 15:45:59

工具程序員開發

2019-08-16 09:12:59

數據庫PostgreSQL Oracle

2021-02-02 13:35:48

React插件N+1

2021-07-16 08:29:41

項目React必備插件

2015-04-03 17:26:34

Adobe

2022-10-24 09:00:47

畫圖工具程序員XMind

2009-03-26 09:22:05

2009-06-25 09:33:43

Java API程序員

2020-09-02 09:43:34

程序員法律轉行

2013-07-24 14:17:10

2021-01-29 23:28:11

程序員語言開發

2014-08-15 14:25:48

Android程序員資源

2014-08-20 10:28:29

Android

2011-06-11 20:59:12

程序員

2019-09-25 11:39:07

程序員編程技術

2015-07-27 09:26:41

程序員

2021-02-20 13:55:35

程序員計算機技術

2012-09-18 10:05:51

程序員我的歌聲里程序員的歌

2021-03-02 09:34:15

GitHub倉庫代碼

2015-04-08 10:57:15

程序員程序員四年經歷
點贊
收藏

51CTO技術棧公眾號

亚洲国产成人自拍| 免费亚洲婷婷| 亚洲国产日韩精品在线| 欧美成人免费高清视频| 精产国品自在线www| 成人亚洲精品久久久久软件| 日本精品久久久久影院| 成人性生活毛片| 网友自拍区视频精品| 欧美日韩另类一区| 国产精品网站免费| 久久bbxx| 久久精品欧美一区二区三区不卡| 91丨九色丨国产| 无码人妻aⅴ一区二区三区有奶水| 久久久五月天| 亚洲欧美日韩一区二区三区在线| 久久久久久久久久毛片| 午夜精品久久久久久久久久蜜桃| 亚洲综合成人在线视频| 视频一区二区在线观看| 日本人妻丰满熟妇久久久久久| 久久国产日韩欧美精品| 国产91久久婷婷一区二区| 青青草原在线免费观看视频| 欧美理论视频| 日韩精品中文字幕久久臀| 免费国偷自产拍精品视频| 姬川优奈av一区二区在线电影| 亚洲综合色自拍一区| 中文网丁香综合网| 精品电影在线| 99国产精品久久久久久久久久| 亚洲aa中文字幕| 中文字幕欧美在线观看| 老妇喷水一区二区三区| 午夜精品99久久免费| 三级影片在线看| 色琪琪久久se色| 亚洲午夜精品久久久久久久久久久久| 国产精品伦子伦| 懂色av一区二区| 欧美成人在线直播| 国产又粗又猛大又黄又爽| 一区二区三区| 在线播放欧美女士性生活| 牛夜精品久久久久久久| 朝桐光一区二区| 欧美中文字幕不卡| 一区二区三区免费播放| 国产精品99精品一区二区三区∴| 色偷偷一区二区三区| 能在线观看的av| 欧亚av在线| 日韩欧美一区二区三区| 亚洲色欲综合一区二区三区| 永久免费毛片在线播放| 色综合久久六月婷婷中文字幕| 韩国日本在线视频| 成人啊v在线| 欧美视频一区在线| av在线免费看片| 日韩一区二区三区色| 欧美成人三级电影在线| 久久久午夜精品福利内容| 日韩福利视频一区| 国产亚洲美女精品久久久| 日本乱子伦xxxx| 欧美第一精品| 美乳少妇欧美精品| 久久人人爽人人爽人人| 一区二区日韩免费看| 国产成人av在线播放| 影音先锋国产在线| 国产一区二区三区不卡在线观看 | 视频在线一区二区| 羞羞在线观看视频| 综合久久十次| 5278欧美一区二区三区| 国产91av在线播放| 国产最新精品精品你懂的| http;//www.99re视频| 香蕉视频免费看| 中国色在线观看另类| 日本大胆人体视频| 九九色在线视频| 欧美日韩国产精品一区二区三区四区 | 精品电影一区| 国产成人精彩在线视频九色| 91成年人视频| eeuss国产一区二区三区| 欧美日韩亚洲免费| 免费在线观看av| 亚洲成av人片www| 国产又大又黄又粗又爽| 91嫩草精品| 亚洲欧洲日韩国产| 五月天激情丁香| 久久不射网站| 亚洲自拍偷拍第一页| 视频福利在线| 亚洲丝袜精品丝袜在线| 欧美日韩国产精品激情在线播放| 99国内精品久久久久| 日韩乱码在线视频| 免费中文字幕在线| 日本强好片久久久久久aaa| 99精品99久久久久久宅男| 国产一区二区三区不卡在线| 亚洲一区二区欧美日韩| 国产色视频在线播放| 色综合www| 欧美精品videosex性欧美| 在线观看毛片网站| 91视频在线看| 日本精品久久久久久久久久| 青青在线精品| 亚洲欧洲在线观看| 日韩 欧美 精品| 久久电影网电视剧免费观看| 日本在线一区| 亚洲优女在线| 日韩精品高清视频| 国产在线视频二区| 精品午夜久久福利影院| 丝袜美腿玉足3d专区一区| 成人国产二区| 日韩精品在线观看网站| 国产情侣在线视频| 国产成人在线色| 国产精品夜夜夜爽张柏芝| 色香欲www7777综合网| 亚洲女成人图区| 国产精品suv一区二区三区| 成人福利在线看| 国产一区二区三区乱码| 美女国产精品久久久| www.亚洲男人天堂| 日韩免费av网站| 久久久五月婷婷| 日本久久久精品视频| 午夜a一级毛片亚洲欧洲| 国语对白做受69| 天天干天天操av| 精品久久久久久久久中文字幕| 国产伦精品一区二区三区精品 | 日本www在线播放| 精品国产影院| 国产91对白在线播放| 亚州视频一区二区三区| 欧美视频在线视频| 疯狂揉花蒂控制高潮h| 在线综合欧美| 青娱乐国产91| 国产麻豆一区| 麻豆国产精品va在线观看不卡| 国产又色又爽又黄又免费| 成人免费一区二区三区在线观看| 亚洲精品国产一区二区三区| 欧美+亚洲+精品+三区| 97夜夜澡人人双人人人喊| av资源一区| 日韩久久免费电影| 中文字幕人妻色偷偷久久| 国产精品久久久久久久久久久免费看 | 丰满亚洲少妇av| 日韩精品一区在线视频| 亚洲天堂日韩在线| 国产精品丝袜视频| 成人a在线视频免费观看| 日韩欧美视频在线| 日韩精品在线观看免费| 国产欧美一区二区精品婷婷| 911av视频| 欧美三区视频| 欧美日韩无遮挡| 精品国产亚洲日本| 性金发美女69hd大尺寸| 福利小视频在线观看| 91精品国产综合久久久久久久久久 | 欧美日韩爱爱| 91精品啪在线观看麻豆免费 | 亚洲成人精品影院| 日韩人妻无码一区二区三区| 久久精品国产99国产精品| 日本五级黄色片| 久久99久久人婷婷精品综合| 亚洲尤物视频网| xxxxx性欧美特大| xxxxxxxxx欧美| 亚洲av无码乱码国产麻豆| 色屁屁一区二区| 久草福利资源在线观看| 国产欧美日韩另类视频免费观看| 亚洲精品一区二区18漫画| 久久精品官网| 免费高清一区二区三区| 成人在线免费观看91| 国产一区免费| 91麻豆精品| 日韩美女在线看| 精品日韩av| 日韩中文第一页| 肉丝一区二区| 欧美精品一区二| 97超碰人人草| 欧美午夜精品免费| 日韩免费在线视频观看| 亚洲欧美激情插 | 国产精品video| 国产激情在线播放| 久久精品夜夜夜夜夜久久| 久久电影中文字幕| 亚洲国产精品美女| www国产一区| 欧美日韩一区二区三区高清| 亚洲天堂日韩av| 一区二区三区不卡视频| 亚洲人与黑人屁股眼交| 久久久av毛片精品| 亚洲黄色免费在线观看| 国产成人鲁色资源国产91色综| 国产欧美激情视频| 青娱乐精品在线视频| 爱福利视频一区二区| 最新日韩在线| 蜜臀精品一区二区| 女主播福利一区| 大桥未久一区二区| 99精品美女| 一区二区三区久久网| 精品国产一区二区三区久久久蜜臀 | 欧美视频国产精品| 日本一区二区欧美| 一片黄亚洲嫩模| 免费在线黄色网| 亚洲精品久久嫩草网站秘色| 国产精品精品软件男同| 国产精品福利一区二区三区| 长河落日免费高清观看| 欧美经典三级视频一区二区三区| 中文字幕在线看高清电影| 久久免费精品国产久精品久久久久 | 亚洲婷婷综合网| 狠狠躁天天躁日日躁欧美| 国产精品久久久久久99| 黑人精品xxx一区| 国产一级做a爱片久久毛片a| 欧美日韩加勒比精品一区| 亚洲天堂日韩av| 色综合久久精品| 天天干天天色综合| 欧美在线影院一区二区| 在线免费观看一区二区| 91精品国产综合久久精品图片| www.色婷婷.com| 亚洲国产成人在线播放| 亚洲 欧美 自拍偷拍| 亚洲欧美一区二区三区在线| 日韩精品在线看片z| 亚洲精品永久视频| 久久福利资源站| 日本一二区免费| 国精产品一区一区三区mba视频| 91免费视频污| 成人综合激情网| 国产麻豆xxxvideo实拍| 久久久午夜电影| 97精品在线播放| 日韩中文字幕在线一区| 99精品免费在线观看| 欧美美女黄色| 欧美污视频久久久| 欧美丝袜一区| 女女同性女同一区二区三区按摩| 欧美日本中文| 精品人妻一区二区三区四区在线| 日韩精品欧美精品| 日韩av片免费观看| 99视频有精品| 欧美日韩生活片| 亚洲一区二区三区四区不卡 | 五月婷婷久久丁香| 国产美女www爽爽爽| 日韩一区二区中文字幕| 日韩精品视频无播放器在线看 | 日韩女优av电影在线观看| 无码精品一区二区三区在线| 中文字幕亚洲一区二区三区五十路| av网站大全在线| 欧美在线视频a| 亚洲精品自拍| 久久一区二区三区欧美亚洲| 国产国产精品| 国产xxxxx在线观看| 国产一区不卡视频| 巨胸大乳www视频免费观看| 综合精品久久久| 高清乱码免费看污| 日韩免费福利电影在线观看| 成年人视频在线免费观看| 欧美黑人视频一区| 欧美综合社区国产| 欧美日韩在线精品一区二区三区| 成人公开免费视频| 婷婷激情综合网| 国产精品国产av| 亚洲摸下面视频| 国产黄色大片在线观看| 成人观看高清在线观看免费| 久久av超碰| 九九爱精品视频| 国内久久精品视频| 亚洲av成人无码久久精品| 婷婷中文字幕综合| www.国产视频| 久久久91精品| 国产精品久久久久久吹潮| 鲁鲁视频www一区二区| 在线不卡欧美| 亚洲精品一区二区18漫画| 成人免费在线播放视频| 中文字幕人妻精品一区| 亚洲香蕉在线观看| 成人香蕉视频| 久久国产精品-国产精品| 欧美日本三区| 原创真实夫妻啪啪av| 中文字幕在线不卡视频| 日韩av免费播放| 亚洲女人被黑人巨大进入al| 乱馆动漫1~6集在线观看| 国产精品乱码一区二区三区| 中文字幕免费精品| 亚洲第一色av| 中文字幕亚洲欧美在线不卡| 五月婷婷丁香在线| 亚洲日韩中文字幕| 欧美黑人巨大xxxxx| 欧美激情国产日韩| 美女尤物久久精品| 亚洲永久精品ww.7491进入| 日韩欧美在线中文字幕| 欧洲伦理片一区 二区 三区| 亲爱的老师9免费观看全集电视剧| 欧美网色网址| 国产99久久九九精品无码| 久久久久久麻豆| 最新黄色网址在线观看| 视频在线一区二区| 99久久这里有精品| 久久99国产精品一区| 国产成人免费高清| 你懂的国产视频| 亚洲女人天堂av| yy6080久久伦理一区二区| 一区二区日本| 国产精一区二区三区| 国产精品1234区| 亚洲人av在线影院| 欧美美女被草| 天堂а√在线中文在线| aaa亚洲精品| 亚洲男人天堂网址| 精品国产一区二区三区久久狼黑人| 国产999精品在线观看| 国产 欧美 日本| 26uuu亚洲综合色欧美| 欧美高清69hd| 欧美乱大交xxxxx另类电影| 久久精品色播| 国产高清视频网站| 亚洲欧美日本在线| 五月色婷婷综合| 国产日韩欧美日韩| 一区在线视频观看| 成人在线一级片| 精品免费99久久| 外国电影一区二区| 热久久最新地址| 久久久精品免费网站| 91亚洲视频在线观看| 午夜欧美不卡精品aaaaa| 日本一本不卡| 亚洲女则毛耸耸bbw| 91久久精品一区二区| 1区2区在线观看| 欧美亚洲另类久久综合| 国产一区二区三区久久久 | 青娱乐国产视频| 日韩精品一区二区三区四区视频| 亚洲天堂av影院| 99中文字幕在线观看| 2欧美一区二区三区在线观看视频| 国产露脸91国语对白| 国产91av在线| 欧美日韩亚洲国产精品| 成人性视频免费看| 亚洲韩国欧洲国产日产av| 韩国一区二区三区视频|