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

京東一元搶寶系統的數據庫架構優化

開發 開發工具
一個系統從設計到最終完成,依賴于整個團隊,每個人的想法、不同思路的碰撞和付出;再有前期合理細致的設計尤為重要,每個時間點和具體上線步驟和回滾方案做好詳細計劃;另外,就是細致深入測試,測試環境和線上多輪測試和回歸,也是正常上線的重要保證。

本文是根據凱明在京東內部進行的#京東技術節#《一元搶寶分庫分別策略與實現》技術分享整理而成。

一元搶寶系統是京東虛擬新興的一個業務系統,上線以來訂單量一直持續增長。在距離618前兩個月時,京東商城商品虛擬研發部對系統做了整體預估,訂單量快速增長及618大促的到來都將帶來單量劇增,屆時勢必會對數據庫容量和負載造成壓力。分析結果表明數據庫很可能成為影響性能的瓶頸,并決定對數據庫底層做分庫分表改造,確保數據水平動態擴展能力,滿足數據容量持續增長的需求,并提高下單效率。

1. 業務介紹

上圖是一元搶寶商品詳情頁,從圖中可以看出,一元搶寶的商品即商品項,其不同于其他京東商品的地方在于:有期次、總人次和剩余人次的概念;假設一個商品項有100個庫存,則會分100期次售賣,每期次一個售賣的是一個庫存;總人次即設置的每一期搶寶商品價格,假設1000人次,則商品總價是1000元(每人1元);當剩余人次為0時,本期搶寶結束,然后按照相應算法產生搶寶者;然后進行下一期搶寶。

通過技術改造,從整體上來說實現三個目標:1、底層路由策略實現;2、歷史數據遷移;3、業務改造。下面詳細介紹本次改造的過程。

2. 數據庫容器預估

分庫分表最重要的是要先做容器預估,依據數據量和業務特性估算出容器/庫/表的數量及分庫分表規則。

假設一天100萬訂單,一年則產生3.6億訂單量;假設數據結構是這樣的:訂單表10個字段,一個字段50個字符;一條訂單則需要500字節存儲,那么3.6億訂單則需要大約170GB存儲空間;假設每臺機器存儲空間為200GB,則每年增加一臺機器即可滿足容量需求。而實際需求要根據壓測結果來決定;如壓測其他一些指標是否滿足需求,如QPS、響應時間等。

3. 底層路由策略選擇及實現

分庫分表路由策略是基礎,影響整個系統架構,后期業務需求是否滿足和支持,使用是否方便都與此有關。路由策略設計合理,上層業務使用會很方便。一元搶寶項目的路由策略適配和實現是在DAO層實現,對上層業務層透明,可不用關心具體實現,并且路由策略不涉及結構上的改動,對上層不會產生影響。

我們知道常見的分表策略有兩種:

hash路由

優點:可實現數據分散,熱點分散;

不足:增加數據庫節點時,會影響路由策略,需做數據遷移;

分區路由(增量區間路由)

優點:策略支持動態擴容,理論上可***擴展;

不足:存在數據熱點問題,新產生的表,讀寫頻率較高;每次查詢需要經過路由策略表。

當然每種策略都不是***的,只有最適合業務場景的策略才是好的。該項目采用的是兩種方式的結合。

首先按搶寶項hash分庫,然后按搶寶期區間段分表,如下圖所示:

期的路由策略表規則如下:

為什么使用這種策略?

搶寶項是業務上層維度,可以理解為商品,大部分表中都有這個字段;此id生成時是連續的,長期來看,hash分庫后數據是均衡的。搶寶期是搶寶項下的一個維度,如一個項庫存是100,不停售前提下,會生成100期,在售的期次只有一個。為什么選擇期id區間作為分表路由策略呢,有朋友會認為也可以選擇訂單id,從路由策略上來說,沒有問題,但一元搶寶項目的業務場景,有根據項id和期id查詢訂單參與紀錄的場景,所以要考慮通過這兩個維度能查到訂單。另外,使用區間作為分表策略,可以動態擴展,即使每次查詢經過路由表,這點開銷可以忽略,而且都是通過緩存加載。

那以上策略,可以路由的維度有哪些呢?

1、通過訂單id路由:訂單號按照一定規則生成,其存儲了庫和表的信息,可以根據訂單號直接定位到相應的庫和表;

2、通過搶寶項id和搶寶期id路由:搶寶項hash定位到庫,搶寶期查詢路由策略表定位到表,具體圖示如下:

4. 聚合查詢及聚合數據同步的實現

有分就涉及到聚合查詢,我們如何實現呢?先看如下架構圖:

上圖是數據層改造后的架構圖,之前是單表主從模式,改造后為多個分庫、基礎庫。聚合采用了elastic search (以下簡稱ES)。

為什么使用它呢,首先,簡單便捷,容易接入;其次,支持動態擴容分片,對業務層透明等。系統中的聚合查詢主要使用了ES,當然我們有很多降級方案,后面會講到。ES不能當作庫來使用,它并不能***保證數據完整性,所以一定要有數據備份,我們使用了聚合表,保存一段時間內的數據,用于降級使用,一旦ES有延遲或集群不可用,就會降級查詢聚合表。

同步ES我們是怎么做的呢?我們使用了canal。有的朋友可能說了,為什么不在直接在代碼中插入時去同步,可以這樣做,但有兩個問題,一是同步失敗如何處理,如何保證事務,二是與業務代碼強耦合,借用術語,不beautify。使用canal,代碼解耦,不侵入與代碼。它其實是模擬了數據庫主從復制機制,偽裝為一個從庫,當數據庫(為不影響主庫生產,我們監聽的是從庫)binlog有變化時,canal監聽到,通過解析服務解析過濾binlog,把需要的日志過濾出來。解析后,我們通過發送MQ消息,消息體是表名和主鍵id,不是整條數據,消費端接到變化的表名和id,實時從庫中查詢***數據,同步到ES、聚合表。

為什么通過MQ消息呢?還可以用以上兩點來解釋,一是消息支持失敗重試,存儲失敗后拋異常,等待下次處理,二是系統間解耦。細心的朋友可以看到,一個消息隊列,通過多個消費訂閱(可以理解為每個消費者的隊列都是鏡像復制的)。這樣做為了在存儲時不相互影響;如果使用一個訂閱者處理,存儲ES失敗,其他兩個聚合存儲成功,那也要拋異常或其他處理方式,下次消費時,另兩個聚合還要存儲一次。

以上就是我們聚合和同步聚合的設計。查詢時,一部分業務會先查詢緩存,不存在再查詢ES,如果降級,才會查庫,正常的聚合查詢都不會查到庫。

5. 歷史數據遷移

由于我們系統上線時是單庫,分庫是上線幾個月后做的技改,所以數據需要遷移,主要遷移步驟如下:

前半部分,從掃描到同步到分庫是新代碼,后面canal到同步ES、聚合表都是復用上面邏輯,這樣設計,降低我們整體工作量,并且保證數據遷移完整。

具體遷移細節如下:

可以看出,主要分為兩部分,停機前和停機后。停機前是遷移歷史數據,支持重復遷移;停機后,只遷移增量部分,這樣,大大縮短我們的上線時間。停機后只需要遷移很少的數據量。

遷移就涉及到數據校驗,校驗邏輯整體來說比較簡單:

三個維度分別和基礎庫做對比,如果不同,重新遷移某一天數據。

6. 系統關鍵節點降級

這一部分也很重要,我們的降級主要有兩點,一是canal同步延遲降級,一是ES不可用降級。***種如下:

如果canal同步延遲,或者從庫掛掉,開啟開關,掃描主庫數據(最近幾小時)直接同步到ES、聚合表;這樣,即使從庫掛掉,也不影響業務數據,這一點很重要,實際業務場景中我們也遇到過。

ES降級,ES不可用時,關閉ES開關,直接查詢聚合表。

7. 總結

一個系統從設計到最終完成,依賴于整個團隊,每個人的想法、不同思路的碰撞和付出;再有前期合理細致的設計尤為重要,每個時間點和具體上線步驟和回滾方案做好詳細計劃;另外,就是細致深入測試,測試環境和線上多輪測試和回歸,也是正常上線的重要保證。

以上就是京東一元搶寶項目分庫分表的主要思想,希望有同樣想法的朋友可以深入交流,互相提升系統架構。

 作者:匙凱明,京東高級開發工程師,在京東負責一元搶寶系統架構和開發工作;多年互聯網經驗,對于系統架構和設計有自己的見解和經驗。

【本文來自51CTO專欄作者張開濤的微信公眾號(開濤的博客),公眾號id: kaitao-1234567】

 

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 開濤的博客
相關推薦

2011-03-09 08:53:02

MySQL優化集群

2011-03-08 08:49:55

MySQL優化單機

2016-10-27 13:40:02

編程語言 數據庫

2011-03-21 14:27:15

數據庫優化業務邏輯設計

2022-03-16 11:03:40

數據庫元數據數據引擎

2017-06-16 21:36:14

2011-03-03 17:56:52

MySQL數據庫優化

2016-04-20 17:18:29

分布式數據庫京東WOT

2011-05-19 10:29:40

數據庫查詢

2023-05-26 06:49:44

2024-05-23 07:39:00

大數據TBDS數據湖

2011-08-18 18:18:05

MySQL數據庫優化

2010-06-12 15:26:12

2013-09-17 10:32:08

Android性能優化數據庫

2011-03-31 09:19:54

數據庫優化

2017-05-08 08:39:12

梯度算法Octave機器學習

2018-08-27 10:59:07

京東數據庫智能運維

2014-07-18 09:33:53

數據庫數據庫優化

2014-04-09 18:01:42

京東

2010-08-26 14:39:54

Infobright數
點贊
收藏

51CTO技術棧公眾號

丝袜熟女一区二区三区| 欧美交换配乱吟粗大25p| 欧美日韩一级黄色片| 精品国产一区二区三区久久久蜜臀 | 一本大道综合伊人精品热热| 亚洲 国产 欧美一区| a级片在线视频| 亚洲美洲欧洲综合国产一区| 亚洲午夜国产成人av电影男同| 色呦色呦色精品| 成人免费图片免费观看| 国产免费观看久久| 成人动漫视频在线观看完整版 | 欧美挠脚心视频网站| 91免费国产精品| 国产乱视频在线观看| 狠狠色狠狠色综合| 青青a在线精品免费观看| 中文乱码字幕高清一区二区| 激情小说亚洲色图| 欧美疯狂做受xxxx富婆| www.中文字幕在线| 四虎影院观看视频在线观看| 国产视频911| 波多野结衣成人在线| 丰满人妻一区二区三区四区| 伊人精品在线| 久久福利视频导航| 亚洲第一综合网| 欧美一区自拍| 精品国产乱码久久久久久牛牛| 日日噜噜噜噜久久久精品毛片| 爱情岛亚洲播放路线| 亚洲人成网站色在线观看| 人偷久久久久久久偷女厕| 秋霞网一区二区| 国产老肥熟一区二区三区| 国产精品美女呻吟| 国产精品久久久久久久久久精爆| 精品成人国产| 欧美二区乱c黑人| 永久免费看片视频教学| 成人vr资源| 亚洲视频777| 黄色国产在线观看| 中文字幕日韩在线| 日韩欧美国产综合一区| 不卡的在线视频| 51一区二区三区| 在线精品视频免费观看| 久久久久久久久久福利| 欧美日韩在线观看首页| 亚洲成人动漫一区| 欧美国产日韩激情| 黄视频在线免费看| 夜夜亚洲天天久久| 国产美女永久无遮挡| 最新黄网在线观看| 一区二区三区在线影院| 热久久最新地址| 超碰在线97国产| 亚洲成a人v欧美综合天堂| 男人添女荫道口女人有什么感觉| mm1313亚洲国产精品美女| 最新成人av在线| 永久免费在线看片视频| 色操视频在线| 亚洲成人在线网站| 日韩中文字幕三区| av成人在线观看| 3d成人h动漫网站入口| 亚洲女人在线观看| 第四色在线一区二区| 日韩av中文在线| 在线小视频你懂的| 成人高清电影网站| 久久av中文字幕| 国产真人真事毛片| 亚洲永久网站| 成人激情视频免费在线| 精品黑人一区二区三区在线观看| 成人精品视频一区| 欧美一区二区视频17c| 在线视频1区2区| 夜夜嗨av一区二区三区网页 | 免费污视频在线观看| 亚洲综合成人网| 国产午夜福利视频在线观看| 电影天堂国产精品| 日韩欧美亚洲国产精品字幕久久久| 免费观看一区二区三区| 天美av一区二区三区久久| 尤物九九久久国产精品的特点| 亚洲一级二级片| 亚洲精品日韩久久| 国产精品偷伦视频免费观看国产| 国产欧美日韩成人| 91免费版在线| 国产奶头好大揉着好爽视频| 超碰资源在线| 欧美另类变人与禽xxxxx| 特级特黄刘亦菲aaa级| 狠狠色丁香婷婷综合影院| 久久中国妇女中文字幕| 午夜影院免费在线观看| 国产精品一区专区| 日韩av大全| xxxx成人| 在线不卡中文字幕播放| 泷泽萝拉在线播放| 午夜久久久久| 国产精品午夜视频| 亚洲 欧美 自拍偷拍| 亚洲婷婷国产精品电影人久久| 激情综合在线观看| 视频在线亚洲| 色阁综合伊人av| 久久亚洲精品国产| 国产成人精品综合在线观看| 日本一区视频在线| 免费看男女www网站入口在线| 在线成人午夜影院| 97人妻人人揉人人躁人人| 欧美全黄视频| 成人观看高清在线观看免费| 日本天堂在线| 亚洲第一久久影院| 先锋资源在线视频| 欧美成人自拍| 国产精品美女久久久免费| 手机看片一区二区三区| 一区二区三区日韩欧美| 男生操女生视频在线观看| 精品无人区麻豆乱码久久久| 欧美中文字幕在线观看| 欧美少妇bbw| 亚洲一区在线视频观看| 韩国三级丰满少妇高潮| 国产精品x453.com| 国产在线视频91| 91高清在线| 欧美在线观看视频一区二区三区| 黄色a一级视频| 国产精品日本欧美一区二区三区| 国产精品视频免费观看| 大香伊人久久| 亚洲激情视频在线播放| 国产在线视频在线观看| 国产高清久久久| 免费看日本黄色| 9999久久久久| 国内精品美女av在线播放| 免费国产黄色片| 精品国产乱码久久久久久天美 | 国产精品18hdxxxⅹ在线| 欧美成在线观看| 99久久亚洲精品日本无码| 亚洲欧美激情插| 丰满饥渴老女人hd| 在线观看一区| 精品在线观看一区二区| 免费h在线看| 亚洲一级一级97网| 伊人色综合久久久| 亚洲三级在线播放| 精品国产免费久久久久久婷婷| 国内精品久久久久国产盗摄免费观看完整版 | 外国电影一区二区| 少妇激情综合网| 国产男男gay体育生白袜| 中文字幕中文字幕一区二区| 久久6免费视频| 国内精品亚洲| 麻豆一区区三区四区产品精品蜜桃| 芒果视频成人app| 中文字幕亚洲无线码a| 国产又黄又粗又长| 亚洲一区二区在线免费看| 狠狠人妻久久久久久综合蜜桃| 久久精品在线| 国产精品夜夜夜爽张柏芝| 91精品尤物| 日韩免费av在线| 粗大黑人巨茎大战欧美成人| 亚洲国产美女久久久久| 亚洲永久精品一区| 亚洲精品日韩一| 国产精品三级在线观看无码| 久久精品99国产精品日本| 91网站在线观看免费| 美女毛片一区二区三区四区| 91精品国产综合久久香蕉922| 免费污视频在线| 亚洲系列中文字幕| www.综合色| 91国产视频在线观看| 久草国产在线观看| 国产婷婷精品av在线| 中文字幕第10页| 免费亚洲网站| www婷婷av久久久影片| 免费成人av| ts人妖另类在线| www.精品国产| 91精品国产免费久久久久久| 337p日本欧洲亚洲大胆鲁鲁| 亚洲第一男人av| 国产一区二区三区黄片| 色综合视频一区二区三区高清| 国产又色又爽又高潮免费| 99久久国产免费看| 性生活在线视频| 老鸭窝一区二区久久精品| 亚洲美免无码中文字幕在线| 一区二区三区在线| 先锋影音网一区| 婷婷亚洲成人| 国产精品免费在线| 精品国产不卡一区二区| 国产精品美女主播在线观看纯欲| sm性调教片在线观看| 麻豆一区二区在线观看| 91高清在线| 一本一本久久a久久精品牛牛影视| 色wwwwww| 日韩精品中文字幕一区| 国产精品呻吟久久| 欧美亚洲国产怡红院影院| 三级黄色在线视频| 亚洲国产精品久久不卡毛片| 91九色丨porny丨极品女神| 国产精品久久久久影院色老大| 亚洲av无码成人精品国产| 成人午夜av电影| 亚洲av综合色区无码另类小说| 九九精品视频在线看| 三级在线视频观看| 日本伊人午夜精品| 国产视频一区二区三区在线播放| 久久国产精品99国产| 精品久久一二三| 亚洲清纯自拍| 久久久亚洲精品无码| 在线视频精品| 人妻精品无码一区二区三区 | 亚洲人成精品久久久久久| 国产精品综合激情| 国产精品不卡一区| 少妇被躁爽到高潮无码文| 亚洲人精品午夜| 亚洲天堂黄色片| 亚洲男同性恋视频| www.5588.com毛片| 一区二区三区中文字幕精品精品| 中文字幕av免费在线观看| 亚洲精品国产无天堂网2021| 青青草激情视频| 亚洲午夜精品网| 一区二区三区视频免费看| 黑人巨大精品欧美一区免费视频 | 亚洲激情社区| 浮妇高潮喷白浆视频| 亚洲永久免费| 美女少妇一区二区| 狠狠色丁香久久婷婷综合_中| 国产精品久久久久久久av福利| 黄页网站大全一区二区| 无码人妻一区二区三区免费n鬼沢| 成人免费视频播放| 亚洲午夜久久久久久久久红桃| 国产亚洲自拍一区| 91制片厂在线| 亚洲图片欧美色图| 国产精品21p| 7777精品伊人久久久大香线蕉完整版| 国产深喉视频一区二区| 精品久久久久久最新网址| 天堂v视频永久在线播放| 日韩av在线网页| 欧美jizz18性欧美| 久久免费精品视频| 国产成人精品一区二三区在线观看 | 日韩福利片在线观看| 色偷偷88欧美精品久久久| 中文字幕自拍偷拍| 精品裸体舞一区二区三区| 日本福利片高清在线观看| 日韩中文字幕网址| 黄污视频在线观看| 国产精品久久久久影院日本| 日韩高清一区| 欧洲高清一区二区| 欧美不卡一区| 成人精品小视频| 国产电影一区在线| 亚洲自拍偷拍图| 亚洲一区二区偷拍精品| 天天干天天插天天射| 日韩精品一区二区三区四区视频 | 91丨porny丨首页| 黄色精品视频在线观看| 亚洲大片在线观看| 亚洲综合免费视频| 亚洲精品av在线| 黄色一级片在线观看| 欧美中文在线视频| 一级毛片精品毛片| 亚洲国产成人不卡| 99pao成人国产永久免费视频| 中文字幕精品一区二区三区在线| 91在线免费播放| 校园春色 亚洲| 欧美在线视频你懂得| 日本精品999| 欧美成人黑人xx视频免费观看| 亚洲成av在线| 久久久久久99| 亚洲特色特黄| 在线播放黄色av| 国产精品视频九色porn| 亚洲欧美综合另类| 亚洲第一综合天堂另类专| 91小视频xxxx网站在线| 国产精品中文字幕久久久| 竹菊久久久久久久| 免费国产黄色网址| 懂色av一区二区夜夜嗨| 欧美精品久久久久久久久46p| 欧美亚洲综合另类| 免费在线高清av| 青草青草久热精品视频在线观看| 国产日韩三级| 人体内射精一区二区三区| 国产精品亚洲一区二区三区在线| 成人无码精品1区2区3区免费看 | 国产精品国产三级国产普通话蜜臀 | 又黄又色的网站| 一区二区三区四区五区视频在线观看| 888奇米影视| 久久精品99无色码中文字幕| 国产a亚洲精品| 亚洲精品成人a8198a| 日本va欧美va瓶| 粉嫩精品久久99综合一区| 欧美性大战久久久久久久 | 欧美精品午夜视频| 四虎视频在线精品免费网址| 亚洲不卡1区| 三级影片在线观看欧美日韩一区二区| 爱爱的免费视频| 在线观看一区不卡| 最新国产在线观看| 成人午夜在线视频一区| 在线成人直播| 麻豆精品国产传媒| 亚洲一卡二卡三卡四卡| 手机在线观看毛片| 日产日韩在线亚洲欧美| 精品色999| 91丝袜超薄交口足| 一二三四区精品视频| 天天摸天天干天天操| 青青青国产精品一区二区| 红桃成人av在线播放| 三级在线视频观看| 亚洲免费av观看| 欧美一级视频免费| 国产成人极品视频| 色乱码一区二区三区网站| 久久6免费视频| 午夜av一区二区| 国产三级电影在线观看| 成人国内精品久久久久一区| 欧美精品不卡| 欧美丰满少妇人妻精品| 欧美午夜精品电影| 伊人电影在线观看| 蜜桃999成人看片在线观看| 麻豆传媒一区二区三区| 久久久久国产精品夜夜夜夜夜| 亚洲精品国精品久久99热| 特黄毛片在线观看| 亚洲欧美国产精品桃花| 国产成人免费在线| caoporn国产| 久久人人爽人人爽人人片亚洲| 国产精品白丝一区二区三区| 免费看a级黄色片| 亚洲狼人国产精品| 日本大臀精品| 成人在线视频网| 9国产精品视频| 男人晚上看的视频| 亚洲国产毛片完整版| 一区二区三区日本视频| 亚洲一区二区三区av无码| 亚洲国产精品成人久久综合一区 | 成人黄色在线看| 中文字幕自拍偷拍| 韩剧1988免费观看全集|