最全最強解析:支付寶系統架構內部剖析,架構圖

點擊上方 "程序員小樂"關注, 星標或置頂一起成長

每天凌晨00點00分, 第一時間與你相約


每日英文

Promise yourself to be so strong that nothing can disturb your peace of mind.

對自己承諾:我要強大到任何事情都無法破壞我內心的平和。


每日掏心話

不知道是越來越獨立 ,還是越來越心虛, 走了這麼久, 發現唯一靠得住的還是自己 。



最全最強解析:支付寶系統架構內部剖析,架構圖

程序員小樂(ID:study_tech)第 807 次推文 圖片來自百度


往日回顧:1.3萬億條數據查詢毫秒級響應,如何做到的?


正文


支付寶系統架構概況

典型處理默認

最全最強解析:支付寶系統架構內部剖析,架構圖

資金處理平臺

最全最強解析:支付寶系統架構內部剖析,架構圖

財務會計

最全最強解析:支付寶系統架構內部剖析,架構圖

支付清算

最全最強解析:支付寶系統架構內部剖析,架構圖

核算中心

最全最強解析:支付寶系統架構內部剖析,架構圖

交易

最全最強解析:支付寶系統架構內部剖析,架構圖

柔性事務

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

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

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

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

Metamorphosis 的起源是我從對linkedin的開源MQ–現在轉移到apache的kafka的學習開始的,這是一個設計很獨特的MQ系統,它採用pull機制,而 不是一般MQ的push模型,它大量利用了zookeeper做服務發現和offset存儲,它的設計理念我非常欣賞並贊同,強烈建議你閱讀一下它的設計 文檔,總體上說metamorphosis的設計跟它是完全一致的。但是為什麼還需要meta呢?

簡單概括下我重新寫出meta的原因:

1.Kafka是scala寫,我對scala不熟悉,並且kafka整個社區的發展太緩慢了。

2.有一些功能是kakfa沒有實現,但是我們卻需要:事務、多種offset存儲、高可用方案(HA)等

3.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來使用的其他功


最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

最全最強解析:支付寶系統架構內部剖析,架構圖

歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。


猜你還想看


阿里、騰訊、百度、華為、京東最新面試題彙集

深入理解JVM,7種垃圾收集器,看完我跪了!

賊好用的Java工具類庫,GitHub星標10.4k+,你在用嗎?

面試官我:什麼是NIO?NIO的原理是什麼機制?我竟然沒回答上來...

關注訂閱號「程序員小樂」,收看更多精彩內容
嘿,你在看嗎?


分享到:


相關文章: