1. 程式人生 > >訂單系統架構筆記摘抄

訂單系統架構筆記摘抄

美團外賣訂單系統

效能優化

  • 系統拆分
    劃分為三個系統,分別為交易系統、查詢系統、非同步處理系統。獨立拆分後,可以避免業務間的相互影響。快速支援業務迭代需求的同時,保障系統穩定性。
  • 非同步化
    有兩種方案:
    1. 執行緒或執行緒池:將非同步操作放在單獨執行緒中處理,避免阻塞服務執行緒。但是重啟時,需要通過JVM優雅關閉來保證非同步操作進行完成後,JVM再關閉。
    2. 訊息非同步:非同步操作通過接收訊息完成。
  • 並行化
    並行化將原本序列的工作並行執行,降低整體處理時間,比如下單後需要獲取門店、菜品、使用者資訊,這些資訊可以並行獲取,節省時間。
  • 快取

一致性優化

  • 冪等重試
    通過重試+冪等,保證退款等操作最終一定會完成。
  • 兩階段提交
    通過2PC來保證多個系統的資料一致性。比如下單過程中,涉及庫存、優惠資格等多個資源,下單時會首先預佔資源(對應2PC的第一階段),下單失敗後會釋放資源(對應2PC的回滾階段),成功後會使用資源(對應2PC的提交階段)。

高可用

  • 依賴容災
    依賴容災主要有如下幾個思路:
    1. 依賴超時設定;
    2. 依賴災備;
    3. 依賴降級;
    4. 限制依賴使用資源;
      當前訂單系統通過同時採用上述四種方法,來避免底層服務出現問題時,影響整體服務。具體實現上,我們採用Hystrix框架來完成依賴容災功能。Hystrix框架採用上述四種方法,有效實現依賴容災。

參考

《從訂單業務模組到分散式高可用:美團外賣訂單中心的演進之路》

相關推薦

訂單系統架構筆記摘抄

美團外賣訂單系統 效能優化 系統拆分 劃分為三個系統,分別為交易系統、查詢系統、非同步處理系統。獨立拆分後,可以避免業務間的相互影響。快速支援業務迭代需求的同時,保障系統穩定性。 非同步化

【餓了麽】業務井噴時,訂單系統架構這樣演進

深圳 左右 內容 時間 組件 不知道 要求 技術分享 追溯 本文根據石佳寧在InfoQ舉辦的2016ArchSummit全球架構師(深圳)峰會上的演講整理而成。 老司機簡介 石佳寧,餓了麽後臺支撐研發部負責人,目前任職於餓了麽,現任平臺研發中心-後臺支撐部門負責人,主要

高併發訂單系統架構設計

高併發下單主要包括以下幾個方面: 分庫分表 多應用例項全域性唯一訂單號 資料庫連線 買家查詢訂單 賣家查詢訂單 擴容問題 業務拆分 一、分庫分表 隨著訂單量的增長,資料庫的發展主要經歷以下幾個步驟:  - 1主-1從架構  - 雙主-多從架構,讀寫分離  - 表

高併發訂單系統架構設計(二)

高併發下單主要包括以下幾個方面: 分庫分表 多應用例項全域性唯一訂單號 資料庫連線 買家查詢訂單 賣家查詢訂單 擴容問題 業務拆分 一、分庫分表 隨著訂單量的增長,資料庫的發展主要經歷以下幾個步驟: - 1主-1從架構 - 雙主-多從架構,讀寫

每秒處理10萬高並發訂單的樂視集團支付系統架構分享

記錄 應該 高校 操作 新的 讀寫 官方 來看 一個表 隨著樂視硬件搶購的不斷升級,樂視集團支付面臨的請求壓力百倍乃至千倍的暴增。作為商品購買的最後一環,保證用戶快速穩定的完成支付尤為重要。所以在15年11月,我們對整個支付系統進行了全面的架構升級,使之具備了每秒穩定處理1

系統架構筆記(二)

七、架構權衡分析法:ATAM(Architecture Tradeoff Analysis Method) 評價軟體架構的一種綜合全面的方法。這種方法不僅可以揭示出構架滿足特定質量目標的情況,而且(因為它認識到了構架決策會影響多個質量屬性)可以使我們更清楚地認識到質量目標之間的聯絡——即如何權衡諸多

系統架構筆記(一)

重點知識總結:一、質量屬性: 1、效能:系統的響應能力,即要經過多長時間才能對某個事件作出響應或者在某段時間內系統所能處理事件的個數。架構設計策略:增加計算資源、改善資源需求(減少計算複雜度等)、資源管理(併發、資料複製等)和資源排程(先進先出佇列、優先順序佇列等) 2、可用性:系統能夠正常執行的時

系統架構筆記(四)

十五、可靠性 可靠度:系統在規定的條件下、規定的時間內不發生失效的概率。 失效率:(風險函式)執行至此刻系統未出現失效的情況下,單位時間系統出現失效的概率。 可靠度計算方式: 1)、串聯:R1*R2*R3.... 2)、並聯:1-(1-R1)*(1-R2)*(1-R3)... 1、容錯技術 動態冗餘

系統架構筆記(三)

  1 Singleton 單件      2 Abstract Factory 抽象工廠模式      3 Builder 生成器模式 &nbs

ROS系統架構及概念 學習筆記(二)

理解ROS檔案系統級 指令學習: 標準cmake流程,一次僅能編譯一個包: $ camke packageToBuild/ $ make 編譯工作空間所有包: $ cd workspace $ catkin_make 為了建立  修改  或者使用功能包

網購秒殺系統架構設計案例分析——《大型網站技術架構筆記

一、核心思想: 網站秒殺時的併發比正常運營時多的多,所以網站的秒殺業務不能使用正常的網站業務流程,也不能和正常的網站交易業務共用伺服器(否則造成巨大浪費),必須設計部署專門的秒殺系統,進行專門應對   二、技術挑戰: 1.對現有網站業務造成衝擊:秒殺活動只是網站營銷的一個附加活動,具有時間短

每秒處理10萬高併發訂單的某集團支付系統架構分享

轉載自:最程式碼 官方 隨著樂視硬體搶購的不斷升級,樂視集團支付面臨的請求壓力百倍乃至千倍的暴增。作為商品購買的最後一環,保證使用者快速穩定的完成支付尤為重要。所以在15年11月,我們對整個支付系統進行了全面的架構升級,使之具備了每秒穩定處理10萬訂單的能力。為樂視生態各種形式的搶購秒殺活動提供

每秒上千訂單場景下的分散式鎖高併發優化實踐!【石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! “上一篇文章我們聊了聊Redisson這個開源框架對Redis分散式鎖的實現原理,如果有不瞭解的兄弟可以看一下: 拜託,面試請不要再問我Redis分散式鎖的實現原理。 今天就給大家聊一個有

Java架構-蘇寧 11.11:蘇寧易購訂單搜尋系統架構及實現

背景 隨著蘇寧易購平臺規模的飛速發展,平臺的訂單量呈現指數級的增長,儲存容量已達 TB 級,訂單量更是到了萬億級別,尤其在雙 11 大促流量洪峰的場景下,面臨兩個挑戰: 1、如何儲存如此巨大的資料量 2、如何提供高併發、低延遲、多維度的檢索服務 傳統關係型資料庫無法支撐多維度的

億級流量系統架構之如何設計高容錯分散式計算系統【石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 億級流量架構專欄: 億級流量系統架構之如何支撐百億級資料的儲存與計算 億級流量系統架構之如何設計高容錯分散式計算系統 億級流量系統架構之如何設計承載百億流量的高效能架構【敬請期待】 億級流

億級流量系統架構之如何設計承載百億流量的高效能架構【石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 一、往期回顧 上篇文章《大型系統架構演進之如何設計高容錯分散式計算系統》,主要聊了一下將單塊系統重構為分散式系統,以此來避免單臺機器的負載過高。同時引申出來了彈性資源排程、分散式

Kubernetes系統架構及元件功能 筆記

Kubernetes系統架構及元件功能 Kubernetes叢集包含有節點代理kubelet和Master元件(APIs, scheduler, etc),一切都基於分散式的儲存系統。 Kubernetes節點有執行應用容器必備的服務,而這些都是受Master的控制。

億級流量系統架構之如何設計每秒十萬查詢的高併發架構【石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 億級流量架構專欄: 億級流量系統架構之如何支撐百億級資料的儲存與計算 億級流量系統架構之如何設計高容錯分散式計算系統 億級流量系統

億級流量系統架構之如何設計全鏈路99.99%高可用架構【石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! 一、前情回顧 上篇文章(《億級流量系統架構之如何設計每秒十萬查詢的高併發架構》),聊了一下系統架構中的查詢平臺。 我們採用冷熱資料分離: 冷資料基於HBase+Elasticsearch+純記

Tomcat 系統架構原理學習筆記

本文以 Tomcat 5 為基礎,也兼顧最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本設計思路和架構是具有一定連續性的。 Tomcat 總體結構 Tomcat 的結構很複雜,但是 Tomcat 也非常的模組化,找到了 Tomcat 最核心的模組,您就抓住了 Tomcat