久久av资源,国产 日韩 欧美一区,久久精品国产大片免费观看,欧美国产中文高清

首頁 > 新車報道 > 新車報道 > 京東到家訂單交易架構演化

京東到家訂單交易架構演化

發布時間:2024-07-08 16:08:07

背景
交易系統可能不是技術難度最深的,但是業務復雜度最高的,一個訂單從提交到最后真正生產成功要經歷幾十個系統,涉及的接口交互,MQ等可能達上百個。任何一個環節出問題都會導致這一單的異常,而且交易不像單純的資訊門戶可以靠靜態化或者緩存抗住大并發,交易系統里面涉及到大量的資源(庫存,優惠券,優惠碼等)消費,訂單生成等需要寫入持久化的操作不是單純的異步或者緩存化可以解決的,而且對庫存等敏感信息不能出現并發扣減等。

細節的設計非常多,下面挑出比較典型的一些方面,給大家介紹下京東到家交易系統的架構設計和關鍵問題的處理方案。

歷程
系統Set化
初期的訂單系統和首頁,單品頁,購物車業務邏輯層等都是在一個大項目里。非常適合初期人員少,業務復雜度低,快速迭代,不斷探索試錯的過程,但是隨著業務的發展,出現了以下問題:

系統的流量和業務復雜度也越來越大,大家共用一個大項目進行開發部署,相互影響,協調成本變高;
不同的業務模塊,流量和重要級別不同需要的部署策略和容災降級限流等措施也不一樣,要分而治之;

解決方案
項目Set化,這個過程中要注意Set化的邊界問題,粒度太大了效果不好,太小了設計過度了,反而會增加維護和開發成本;


分庫分表
問題
隨著訂單的并發量的不斷攀升,特別是在雙十一,618等大促的時候,單組DB(一主多從)存在著明顯的壓力,單個主庫的連接數是有限的。大單量,大并發的時候,數據庫越來越成為了我們的瓶頸。

解決方案
針對接單數據庫我們采取的常規做法分庫,根據訂單號進行Hash分布到不同的多個數據庫中,代碼方面我們是繼承了Spring的AbstractRoutingDataSource,實現了determineCurrentLookupKey方法。對業務代碼只有很少的耦合。

另外下發到個人中心數據庫的訂單信息,每天不斷的累計到DB中,存在以下風險:

MySQL的單表容量超過單機限制
穿透緩存到達DB的數據查詢也是非常有問題的。
目前我們采取對個人中心的表按照pin進行分庫分表。
但是對于后端生產系統對于訂單數據的查詢操作,特別是涉及到多條件組合的情況,由于數據量大,多個表數據的關聯,無論分不分表或者讀寫分離對這個場景都不能很好的解決。

這種場景下我們采用了ES,在寫入DB的時候同步寫入ES。你可能會問ES失敗了,數據不一致怎么辦,ES失敗了DB回滾,Worker標識狀態,重新迎接下一次輪詢。

前端下單和后端生產分離
問題
ToC端和ToB端的業務場景不同,前端對互聯網用戶的更多的是快速響應,抗住流量壓力,而后端的場景需要穩定的全量的數據,要在接單的數據庫基礎上進行補全數據;兩個端職責不同,不能互相影響;

解決方案
ToC和ToB分離,前端App或者H5用戶下單和后端訂單真正的生產相分離;前端訂單系統掛掉了,不影響后端的生產;后端的生產掛了,對用戶的下單也是無感知的。只是對配送的時效體驗上會有影響,不是阻斷性的。

我們ToC的訂單系統和ToB的是兩個不同的獨立數據庫,互不影響;訂單管道的Woker都是基于TBSchedule的分布式管理,多個Woker并行處理,下發時機都在毫秒級;


并行控制提升效率
問題
交易的流程依賴的系統非常多,拿提單按鈕來舉例,結算頁的”提單”按鈕,點一次就會觸發20+個接口。隨著業務復雜度的提升,單純的串行執行效率越來越低,前端用戶的體驗越來越差。我們要求TP999在500ms以內的響應速度。

解決方案
我們梳理了服務的依賴關系等,對沒有前后依賴的接口進行放到線程池里面異步執行,類似:查詢庫存,查詢商品信息,查詢促銷信息等都并行執行。此步執行的時間,是并行接口里面最長的一個執行的時間。這樣一來整個提單的操作提升了幾百毫秒。

另外資源(庫存,優惠券,優惠碼,促銷等)的消費和回滾,我們也采用了并行的方式,每一種資源類都實現消費和回滾的接口。如下圖:


每個資源類都是一個Task的成員變量,Task實現了Callable接口。這樣一來,不但整個提單大接口的效率提升了,對于資源消費和回滾環節,程序和業務的擴展性提升了很多。比如新增一種資源,這時候只需實現消費和回滾接口,然后扔到線程池里面就完成了。


異步
在服務端可能需要針對提單請求做一些附屬的事情,這些事情其實用戶并不關心或者用戶不需要立即拿到這些事情的處理結果,這種情況就比較適合用異步的方式處理這些事情,思路就是將訂單交易的業務整理出來,哪些是不影響主流程的,例如:發短信,保存最近使用地址,清除購物車商品,下發訂單給個人中心等等。這些都是在提單之后的異步線程去做。對于下發給個人中心的操作,如果失敗,我們會有Woker補償機制;

我們這里使用的是線程池的模式進行異步處理的,處理過程中有幾個問題需要注意下:

線程池的隊列不建議使用無界隊列,它的默認大小是整數的最大值,這樣在突發流量的時候會導致內存暴漲,影響服務;建議使用ArrayBlockingQueue
不推薦使用CallerRunsPolicy,即在線程和隊列都達到max的時候,退回此請求到主線程。這樣在突發流量或者接口提供方性能下降的時候導致主線程數暴增,影響整體服務??梢灾苯邮褂镁芙^的策略,后續的Woker可以對異常單就行補償;
依賴治理
訂單交易上百個接口,幾十個系統交互。各服務直接的依賴關系如何治理是一個很重要的問題。如下圖:


問題
一個服務依賴這么多服務,每個服務除自身的原因外,還受到網絡原因等其他外部因素的影響,高并發情況下任何一個依賴的服務的波動都會造成整個大服務的阻塞,進而導致系統“雪崩”。

解決方案
那這些服務特別是不是阻斷流程的服務,我們可以采用降級的處理,例如調用超時了給設定默認值,調用量比較大,所依賴的服務嚴重超時并影響整個調用方時,可以通過配置直接提供有損服務,不調用此服務。

我們解決此類問題是使用自己開發的基于Zookeeper的“魯班系統”,其原理就是Zookeeper相應的Znode節點下的數據做為對接口的開關或者降級情況的配置等。當相應的節點的數據發生變化的時候,對此節點監聽的所有服務器都會受到通知,并將此變更同步到本地的緩存中;本地緩存我們使用的ConcurrentHashMap。當然也可以使用Guava Cache等開源組件,注意并發的場景就可以了;


然后再結合我們的UMP監控系統對系統的可用率,調用量等情況進行降級時機的判定,對Zookeeper相應節點的數據做動態配置;

 


履約
問題
針對訂單履約的過程清晰可追溯,我們自己開發了UDP上報系統,對一次提單中操作的所有接口,幾十個系統的交互進行了詳細記錄;

解決方案
出參入參,是否異常,IP等信息均做了上報。通過Spring的AOP方式,開發了一個自定義注解,對添加了注解的方法UDP方式寫入到ES集群中;而且我們實現了工具化,任何項目引入我們的Jar包,做簡單配置就可以向我們的UDP服務端上報信息了。隨著現在的信息量變大,我們正在考慮升級架構,UDP Client端發送信息到Kafka,然后Storm實時在線分析形成最終需要的數據落地到ES集群中;

此系統大大提升了我們定位解決問題的效率。

 

新車報道更多>>

又一款十萬級旅行車?吉利銀河A7旅行版曝光,競爭海豹06旅行? 對標奔馳大G,寶馬或推出一款全新硬派越野豪華SUV代號G74 “撞名”理想,東風風神L8同樣主打“家庭牌” 7月“反季”增長34.2%,上汽以“七連漲”鞏固頭部車企優勢 繼AC米蘭和皇家馬德里后,寶馬又與一家歐洲老牌俱樂部建立合作 引領越野潮向,這就是坦克的力量 獨立試駕小米SU7 Ultra:你能買到的“最快車” 19萬買240km純電續航+激光雷達,領克10 EM-P真香還是陷阱? 新款瑞虎8 PLUS插混價格大幅下探 與宋L DM-i該如何選 新一代MG5正式上市 驚爆一口價6.59萬元起 一汽豐田bZ3C前景展望:預計售價17.58萬元起 定位與宋L EV接近 預計售價16.99萬元起 星途星紀元ES增程版前瞻 一汽豐田RAV4榮放 搭載2.0L發動機+CVT無級變速箱,是否值得購入? 7座布局設計,搭載2.0L混動系統的廣汽傳祺E8,是否適合家用? 適合多孩家庭,大六座布局的東風奕派eπ008,是否值得購入? 外觀顏值在線,純電續航570km、支持800V快充的小鵬G9,適合家用 24.29萬元起售,定位中大型SUV,空間寬敞,大眾攬巡適合家用 用車成本低,空間寬敞,適合家用的SUV,傳祺GS4 MAX值得一看? 降至7.98萬起,配L2級智駕+2.0L動力,卡羅拉銳放實力表現如何? 想要一輛代步用車,外觀可愛的長安Lumin,產品實力表現如何? 塊頭都不小呀!比亞迪騰勢N9、全新“夏”MPV現身目錄 蘋果推出新款iPad mini 現在即可訂購 10月23日在實體店開售 一汽紅旗:交付 EH7 榮耀版,助力體育強國 中國車企正在“顛覆”歐洲老牌制造商?小鵬、廣汽紛紛“安撫” 第100萬輛汽車下線 理想汽車成國內首個“百萬輛新勢力車企” AION V 打頭陣,廣汽開始籌謀歐洲市場 廣汽集團亮相巴黎車展,全新歐洲市場計劃推動全球化戰略 AI應用持續深化 打破游戲行業“不可能三角” 一線城市樓市:全面回暖,未來可期 政策大調整!樓市迎來巨變,官方態度明確,購房者需注意!
久久av资源,国产 日韩 欧美一区,久久精品国产大片免费观看,欧美国产中文高清
欧美日韩黑人| 成人影视亚洲图片在线| 国产日韩欧美一区二区三区 | 中文字幕乱码亚洲无线精品一区| 国内精品伊人| 国产劲爆久久| 国产精品一线| 免费在线观看一区| 水蜜桃久久夜色精品一区| 在线精品福利| 久久精品72免费观看| 国产成人77亚洲精品www| 日韩国产欧美三级| 激情婷婷综合| 亚洲一级少妇| 欧洲av一区二区| 蜜桃国内精品久久久久软件9| 黄色免费成人| 国产美女精品视频免费播放软件| 婷婷精品进入| 亚洲精品免费观看| 婷婷亚洲成人| 国产一区二区三区网| 精品一区电影| 日韩不卡在线| 在线观看亚洲精品福利片| 蜜桃av一区二区在线观看| 久久美女精品| 日本在线不卡视频一二三区| 开心激情综合| 日韩午夜免费| 男人的天堂久久精品| 麻豆国产91在线播放| 日韩网站中文字幕| av资源新版天堂在线| 亚洲天堂成人| 久久久国产亚洲精品| 欧美日韩国产观看视频| 荡女精品导航| 丰满少妇一区| 亚洲精品系列| 久久国产99| 亚洲伊人av| 麻豆精品久久| 91看片一区| 久久中文字幕导航| 亚洲欧美日韩高清在线| 欧美日韩国产综合网| 在线免费观看亚洲| 亚洲午夜久久久久久尤物| 国产激情一区| 欧美激情日韩| 高清精品久久| 久久精品资源| 福利片在线一区二区| 成人在线免费观看网站| 日本成人在线网站| 欧美日韩黄网站| 日韩欧美中文字幕电影| 深夜福利亚洲| 日本亚洲最大的色成网站www| 国精品一区二区三区| 不卡一区2区| 老司机久久99久久精品播放免费| 国产一区导航| 亚洲日产av中文字幕| 久久字幕精品一区| 日韩a一区二区| 久久三级视频| 亚洲精品va| 午夜在线视频观看日韩17c| 日本国产精品| 日韩一区电影| 国产精品伦一区二区| 亚洲精品影院在线观看| 视频一区在线视频| 少妇精品久久久一区二区三区| 日韩欧美高清一区二区三区| 亚洲人成在线影院| 国产精品白丝一区二区三区| 日韩福利一区| 国产亚洲欧美日韩精品一区二区三区| 欧美一区二区三区久久| 岛国av在线网站| 久久高清国产| 久久久久伊人| 亚洲性视频在线| 日韩精品一区二区三区免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 水蜜桃精品av一区二区| 国产精品日本一区二区不卡视频| 美女网站一区| 中文视频一区| 精品五月天堂| 99riav国产精品| 精品一区二区三区的国产在线观看| 国精品一区二区| 国产精品mv在线观看| 欧美中文字幕一区二区| 国产一级成人av| 欧美a级一区| 激情不卡一区二区三区视频在线| 香蕉视频成人在线观看| 成人午夜毛片| 久久精品 人人爱| 亚洲深夜av| 麻豆高清免费国产一区| 六月婷婷一区| 亚洲午夜天堂| 麻豆精品一区二区综合av| 久久高清一区| 午夜电影亚洲| 黄毛片在线观看| 国产精品密蕾丝视频下载| 亚洲天堂av资源在线观看| 日韩在线中文| 久久不见久久见免费视频7| 中文精品电影| 国产亚洲永久域名| 亚洲精品1区| 欧美一区二区三区激情视频| 国产精品亚洲四区在线观看| 视频一区欧美精品| 亚洲欧美日韩国产综合精品二区 | 99pao成人国产永久免费视频 | 久久99久久久精品欧美| 日本不卡视频在线| 日韩中文字幕91| 日韩中文字幕一区二区三区| av不卡在线看| 色婷婷综合网| 国产一区二区三区免费在线| 国产精品久久国产愉拍| 国产欧美大片| 国产精品第十页| 欧美精品成人| 国产一区二区三区久久 | 国产精品1区| 麻豆久久久久久久| 精品国产精品国产偷麻豆 | 国产视频久久| 日韩一区二区三区四区五区| 日本va欧美va欧美va精品| 奇米狠狠一区二区三区| 国产欧美日韩一区二区三区在线| 韩日一区二区| japanese国产精品| 日韩国产一二三区| 欧美激情视频一区二区三区免费 | 国产精一区二区| se01亚洲视频 | 亚洲一区日本| 久久国产三级| 久久久亚洲一区| 日韩精品第二页| 国产不卡人人| 热久久久久久久| 欧美日韩伊人| 欧美日韩一二三四| 91成人精品在线| 亚洲香蕉网站| 国产精品乱战久久久| 亚洲欧洲美洲av| 天海翼亚洲一区二区三区| 精品中国亚洲| 日韩区欧美区| 日韩视频一区| 超级白嫩亚洲国产第一| 中文字幕日本一区| 欧美 日韩 国产一区二区在线视频| 日本91福利区| 亚洲免费成人| 亚洲天堂资源| 国产精品99久久免费| 日韩在线一二三区| 久久天堂精品| 免费日韩成人| 日日摸夜夜添夜夜添国产精品| 正在播放日韩精品| 国产精品丝袜在线播放| 美国三级日本三级久久99| 欧美日韩一二三四| 精品国产网站| 美女视频黄 久久| 欧美亚洲三区| 欧美日韩一区自拍| 亚洲另类av| 免费黄网站欧美| 日韩精品一级二级| 日韩精品一二三区| 日韩一级不卡| 噜噜噜躁狠狠躁狠狠精品视频 | 粉嫩av一区二区三区四区五区| 奇米亚洲欧美| 国产亚洲欧美日韩在线观看一区二区| 亚洲欧洲av| 日韩不卡一区二区三区| 日韩国产欧美在线播放| 欧美日韩1区2区3区| 奇米亚洲欧美|