18 張圖解支付寶錢包系統架構!

 
     
     
      
      
               
      
 
     
公衆號關注 傑哥的IT之旅 」,
  
      
      
       
       
                
       
  
      
選擇「 星標 」, 重磅乾貨,第一 時間送達!

做者 | 雪姬
來自 | 移動支付網python

支付寶是屬於第三方支付平臺,是螞蟻集團 旗下的支付平臺系統,支付寶也是中國支付行業的一個標兵,不管是業務能力仍是產品創都引領者中國支付行業的前沿,做爲支付業務的基礎系統的複雜性和穩定性是支付業務是否可以及時快速安全處理的根本。mysql

本文收集了支付寶的系統架構圖,包含:清算、客服、處理、資金、財務、等等。那麼本文主要介紹Android支付寶錢包系統內部架構剖析。程序員

支付寶系統架構概況

典型處理默認

資金處理平臺

財務會計

支付清算

覈算中心

交易

柔性事務

消息系統

數據分佈

數據緩存

支付寶的開源分佈式消息中間件–Metamorphosis(MetaQ)sql

Metamorphosis (MetaQ) 是一個高性能、高可用、可擴展的分佈式消息中間件,相似於LinkedIn的Kafka,具備消息存儲順序寫、吞吐量大和支持本地和XA事務等特性,適用於大吞吐量、順序消息、廣播和日誌數據傳輸等場景,在淘寶和支付寶有着普遍的應用,現已開源。數據庫

Metamorphosis是淘寶開源的一個Java消息中間件。關於消息中間件,你應該據說過JMS規範,以及一些開源實現,如ActiveMQ和HornetQ等。Metamorphosis也是其中之一。apache

Metamorphosis 的起源是我從對linkedin的開源MQ–如今轉移到apache的kafka的學習開始的,這是一個設計很獨特的MQ系統,它採用pull機制,而不是通常MQ的push模型,它大量利用了zookeeper作服務發現和offset存儲,它的設計理念我很是欣賞並贊同,強烈建議你閱讀一下它的設計文檔,整體上說metamorphosis的設計跟它是徹底一致的。緩存

可是爲何還須要meta呢?安全

簡單歸納下從新寫出meta的緣由:微信

一、Kafka是scala寫,我對scala不熟悉,而且kafka整個社區的發展太緩慢了;架構

二、有一些功能是kakfa沒有實現,可是咱們卻須要:事務、多種offset存儲、高可用方案(HA)等;

三、Meta相對於kafka特有的一些功能:

  • 文本協議設計,很是透明,支持相似memcached stats的協議來監控broker

  • 純Java實現,從通信到存儲,從client到server都是從新實現;

  • 提供事務支持,包括本地事務和XA分佈式事務;

  • 支持HA複製,包括異步複製和同步複製,保證消息的可靠性;

  • 支持異步發送消息;

  • 消費消息失敗,支持本地恢復;

  • 多種offset存儲支持,數據庫、磁盤、zookeeper,可自定義實現支持group commit,提高數據可靠性和吞吐量;

  • 支持消息廣播模式;

  • 一系列配套項目:python客戶端、twitter storm的spout、tail4j等。

所以meta相比於kafka的提高是巨大的。meta在淘寶和支付寶都獲得了普遍應用,如今天天支付寶天天經由meta路由的消息達到120億,淘寶也有天天也有上億的消息量。

Meta適合的應用:

  • 日誌傳輸,高吞吐量的日誌傳輸原本就是kafka的強項;

  • 消息廣播功能,如廣播緩存配置失效;

  • 數據的順序同步功能,如mysql binlog複製;

  • 分佈式環境下(broker,producer,consumer都爲集羣)的消息路由,對順序和可靠性有極高要求的場景;

  • 做爲通常MQ來使用的其餘功能。

  
  
   
   
            
   
   

若是您以爲這篇文章對您有點用的話,麻煩您爲本文來個四連:轉發分享、點贊、點在看、留言,由於這將是我寫做與分享更多優質文章的最強動力!

本公衆號所有博文已整理成一個目錄,請在公衆號後臺回覆「 」獲取!

推薦閱讀:
一、 什麼是鏈路追蹤?分佈式系統如何實現鏈路追蹤?
二、 程序員必知的 7 種軟件架構模式
三、 成爲架構師,必須掌握 10 種常見的架構模式!
四、 如何畫出優秀的架構圖?
五、 如何畫出一張合格的技術架構圖?
六、 一文讀懂「分佈式架構」
七、 微信支付軟件架構,這也太牛逼了!
八、 支付寶的架構到底有多牛逼?
九、 今日頭條的技術架構到底有多牛逼?
十、 螞蟻金服的技術架構到底有多牛逼?
關注微信公衆號「 傑哥的IT之旅」,後臺回覆「 1024」查看更多內容,回覆「 加羣備註:地區-職業方向-暱稱 便可加入讀者交流羣。

 
    
m
  
        
        
         
         
                  
         
  
     
點個[在看],是對傑哥最大的支持!

本文分享自微信公衆號 - 傑哥的IT之旅(Jake_Internet)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索