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

美女av免费在线观看| 豆国产97在线| 国产三级在线观看完整版| 99久久综合国产精品二区| 中文av字幕一区| 亚洲一区二区三| 日本一级片免费看| 欧美亚洲激情| 欧美成人福利视频| 久久人妻精品白浆国产| 蜜桃视频在线观看www社区| 国产乱码字幕精品高清av| 欧美极品在线播放| 荫蒂被男人添免费视频| 欧美一级在线| 天天影视色香欲综合网老头| 日韩国产美国| 国产成人三级在线播放| 视频精品一区二区| 欧美国产日本高清在线 | 国内精品伊人久久久久av一坑| 欧美激情亚洲视频| 少妇太紧太爽又黄又硬又爽小说| 99国产精品久久一区二区三区| 在线一区二区三区四区五区| 成人免费在线视频播放| 东热在线免费视频| 91日韩精品一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 在线观看 亚洲| 国内精品久久久久久久影视蜜臀| 中文字幕亚洲无线码a| 大地资源二中文在线影视观看| 欧美黄色一级| 欧美日韩dvd在线观看| www.com毛片| 黄页网站在线| 一区二区视频免费在线观看| 伊人久久大香线蕉成人综合网| 蜜桃视频在线入口www| 成人一区二区三区中文字幕| 亚洲aⅴ男人的天堂在线观看| 国产精品sm调教免费专区| 国产精品视频久久一区| 久久久久国产精品www| 国产精品久久久精品四季影院| 成人久久久久| 一本大道久久加勒比香蕉| 国精产品一区一区三区免费视频| 国产精品网站在线看| 日韩一区二区三区四区五区六区| 青青草原国产在线视频| 涩涩涩久久久成人精品| 欧美日韩高清一区| 成人免费在线观看视频网站| 日韩精品三区| 欧美在线影院一区二区| 国产裸体免费无遮挡| 日韩成人av电影| 91久久国产最好的精华液| 国产又大又硬又粗| 久九九久频精品短视频| 欧美日韩中国免费专区在线看| 久久精品国产sm调教网站演员| av福利在线导航| 精品动漫一区二区三区| 久草资源站在线观看| 涩涩涩在线视频| 欧美天天综合色影久久精品| 男人天堂999| 欧美日韩五区| 欧美三级韩国三级日本一级| 亚洲天堂网一区| 精品中文视频| 亚洲成色www8888| 在线免费观看成年人视频| 精品国产一区二区三区香蕉沈先生 | |精品福利一区二区三区| 特级黄色录像片| 欧洲成人综合网| 欧美日韩综合视频| 国产九九在线视频| 国产亚洲高清一区| 亚洲高清色综合| 色哟哟精品观看| 99久久这里只有精品| 欧美大片在线影院| 国产在线观看黄色| 麻豆精品在线视频| 痴汉一区二区三区| 国产一二三在线观看| 国产精品理伦片| 久操网在线观看| 天天综合网天天| 日韩欧美国产综合一区| 少妇光屁股影院| 日韩欧美大片| 午夜精品久久久久久久99热浪潮| 欧美精品韩国精品| 国产一区二区福利| 蜜桃传媒视频第一区入口在线看| 香蕉视频免费在线播放| 亚洲一区二区三区视频在线播放| www国产黄色| 国产日韩在线观看视频| 日韩精品亚洲视频| 国产黄色小视频网站| 国产日韩视频| 成人福利视频在线观看| 亚洲三级黄色片| 自拍av一区二区三区| 97国产在线播放| 亚洲a成人v| 亚洲欧美成人网| 久久国产在线观看| 久久精品理论片| 免费一区二区三区| 女人天堂av在线播放| 欧美日韩亚州综合| 成人手机在线免费视频| 中文字幕一区二区三区在线视频 | 日韩欧美精品一区二区综合视频| 欧美大片一区二区| 日韩av片在线免费观看| 国产亚洲午夜| 国产精品亚洲综合| 国产在线高清视频| 日本高清无吗v一区| 日韩av无码一区二区三区不卡| 婷婷色综合网| 国产精品你懂得| 国产在线小视频| 粉嫩av一区二区三区免费野| 国产人妻精品久久久久野外| 第一sis亚洲原创| 日本久久久久亚洲中字幕| 丁香六月天婷婷| 亚洲精品欧美专区| 欧美日韩精品区别| 欧美三级美国一级| 日本成人在线视频网址| 天天色综合av| 黄色成人在线播放| 最新版天堂资源在线| 欧美三级小说| 97神马电影| 婷婷av在线| 精品国产三级a在线观看| 印度午夜性春猛xxx交| 激情久久五月天| 天天干天天色天天爽| gogo大尺度成人免费视频| 中文国产亚洲喷潮| 亚洲视频一区在线播放| 国产精品久久久久久久久图文区 | 在线免费观看亚洲| 久久九九精品99国产精品| 国产乱淫av免费| 亚洲免费观看高清完整版在线| 黄色片免费网址| 综合一区av| 国产私拍一区| 美女扒开腿让男人桶爽久久软| 日韩精品免费在线观看| 日韩精品一区不卡| 欧美国产综合色视频| 亚洲国产日韩欧美在线观看| 久久激情电影| 亚洲在线观看视频| 男女在线视频| 国产视频亚洲视频| 波多野结衣一区二区在线| 国产精品久久福利| 国产探花在线观看视频| 黑人一区二区三区四区五区| 国产一区二区三区黄| 免费电影日韩网站| 日韩午夜在线视频| 亚洲乱码国产乱码精品精软件| 精品国产鲁一鲁一区二区张丽 | 亚洲精品一区二区三区不卡| 午夜av电影一区| 性高潮久久久久久久| 久久国产人妖系列| 国产91在线亚洲| 欧美理论电影在线精品| 国产精品白嫩美女在线观看| 免费看a在线观看| 亚洲丁香婷深爱综合| 69视频免费看| 一区二区三区鲁丝不卡| 中文字幕丰满孑伦无码专区| 另类中文字幕网| 国产一级爱c视频| 成人午夜av| 国产青春久久久国产毛片| 欧美成a人片在线观看久| 不卡毛片在线看| 国产在线视频福利| 日韩欧美一区二区不卡| 亚洲图片在线视频| 亚洲人成网站色在线观看| 精品人妻一区二区三区视频| 激情国产一区二区 | 激情另类小说区图片区视频区| 国产原创中文在线观看| 日韩午夜电影网| 精品国产一区二区三区免费| 91麻豆精品国产综合久久久| 欧美一级成年大片在线观看 | 综合av第一页| 欧美图片一区二区| 国产精品亚洲成人| 免费看国产黄色片| 亚洲一区二区三区免费在线观看| 国产免费一区二区三区四在线播放| 要久久电视剧全集免费| 91久久偷偷做嫩草影院| www.成人在线视频| 欧美亚洲成人网| 丁香花在线影院| 久久亚洲成人精品| h网站在线免费观看| 日韩国产精品视频| 亚洲欧美国产高清va在线播放| 欧美亚洲动漫精品| 五月婷婷激情视频| 精品美女久久久久久免费| 中文字幕手机在线观看| 中文字幕制服丝袜一区二区三区 | 91av视频在线免费观看| 尤物在线网址| 久久影视电视剧免费网站清宫辞电视| yiren22亚洲综合伊人22| 亚洲精品视频网上网址在线观看 | 精品伊人久久| 91系列在线观看| 91精品国产自产观看在线| 国产精品羞羞答答| 韩国精品视频在线观看| 国产精品精品视频| 91看片一区| 国产精品激情av电影在线观看| 欧美91看片特黄aaaa| 91成人免费观看网站| 日本不卡1234视频| 91av网站在线播放| 综合久久2023| 欧洲午夜精品久久久| 中文字幕影音在线| 午夜精品免费视频| 成人免费网站观看| 4k岛国日韩精品**专区| 在线能看的av网址| 国产成人精品免费久久久久 | 色综合久久综合网97色综合| 1级黄色大片儿| 欧美性高跟鞋xxxxhd| 日韩久久中文字幕| 欧美日韩中文字幕在线| 精品无码一区二区三区的天堂| 在线免费观看成人短视频| 羞羞色院91蜜桃| 欧美一区二区三区日韩| 国产激情久久久久久熟女老人av| 欧美不卡一二三| 天天操天天干天天插| 日韩精品在线观| 在线观看麻豆| 不用播放器成人网| 1024在线看片你懂得| 日本在线精品视频| 欧美a视频在线| 91超碰在线电影| 任我爽精品视频在线播放| 日本不卡一区二区三区在线观看 | 福利视频免费在线观看| 亚洲一区观看| 免费一区二区三区在线观看| 国产麻豆精品在线| 成人免费无码大片a毛片| 日本一区二区三区免费乱视频 | 亚洲国产精品日韩专区av有中文| 欧美人与动牲交xxxxbbbb| 一区二区黄色| 中日韩av在线播放| 成人av手机在线观看| 天天干天天舔天天操| 亚洲综合色网站| 狠狠人妻久久久久久综合| 欧美乱妇23p| 五月婷婷伊人网| 久久久精品影院| 原纱央莉成人av片| 亚洲一区二区三区777| 香蕉久久夜色精品国产使用方法 | 精品婷婷伊人一区三区三| www.蜜桃av.com| 亚洲一区二区久久| 久久久123| 国产精品久久久久久搜索| silk一区二区三区精品视频| 亚洲精美视频| 国产精品久久久亚洲一区| 三级性生活视频| 久久久国产精华| 欧美国产日韩在线观看成人| 色国产综合视频| 丰满人妻妇伦又伦精品国产| 色悠悠国产精品| 小早川怜子影音先锋在线观看| 亚洲一区二区自拍| 精品久久久久中文字幕小说 | 欧美一区二区三区性视频| 国产精品国产高清国产| 欧美精品在线免费| 国产精品黄色片| 欧美激情www| 在线看片一区| 亚洲国产欧美日韩在线| 中文字幕一区在线观看视频| 欧美h在线观看| 亚洲丁香婷深爱综合| 欧美人与禽猛交乱配| 成人在线小视频| 欧美日韩一区二区综合| 日本精品一区在线观看| 成人激情文学综合网| 国产a免费视频| 欧美福利一区二区| 中文字幕日本在线观看| 国产精品www色诱视频| 亚洲ab电影| 欧美亚洲国产成人| 丰满岳乱妇一区二区三区| 欧美卡一卡二卡三| 91精品在线观看入口| 蜜桃av在线免费观看| 91精品国产综合久久久久久蜜臀| 精品国内自产拍在线观看视频| 男人操女人免费| 久久综合视频网| 波多野结衣视频网站| 亚洲黄色成人网| 九色porny自拍视频在线观看| 国产精品嫩草在线观看| 亚洲国产专区校园欧美| 午夜视频在线观看国产| 午夜精品久久久久久久久久久| 日韩一级免费毛片| 久久久久免费精品国产| 激情小说一区| 国产中文字幕视频在线观看| 91网上在线视频| 天堂中文在线网| 亚洲欧美制服中文字幕| 中文字幕日本一区二区| 伊人久久大香线蕉精品| 国产一区二区按摩在线观看| 国产免费无码一区二区视频| 精品电影一区二区三区| av中文字幕在线看| 久久久亚洲综合网站| 日本欧美一区二区三区乱码| 成人做爰69片免网站| 在线播放国产精品二区一二区四区 | 久久精品五月天| 中文字幕无线精品亚洲乱码一区 | 麻豆成人久久精品二区三区红| 国产馆在线观看| 欧美一区二区免费观在线| 国产蜜臀在线| 久久久久九九九| 麻豆国产一区二区| 国产精品老熟女一区二区| 日韩精品在线第一页| 久久三级毛片| 精品一区二区三区无码视频| 久久免费午夜影院| 97精品人妻一区二区三区在线| 欧美—级高清免费播放| 免费精品国产的网站免费观看| 亚洲久久中文字幕| 一区二区三区日韩精品| 亚洲色图另类小说| 成人国产精品日本在线| 亚洲免费激情| 粉嫩精品久久99综合一区| 精品久久久久久久久久久久久久久| 二区三区不卡| 超碰97免费观看| wwwwww.欧美系列| 一卡二卡三卡在线| 97人人做人人爱| 国产精品久久久久无码av| 亚洲欧美日韩偷拍| 欧美人与性动xxxx| 美女高潮在线观看| 色爽爽爽爽爽爽爽爽| 久久久久久夜精品精品免费|