亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

實例分析途牛網(wǎng)站的無線架構(gòu)變遷實踐之路

大?。?/span>0.6 MB 人氣: 2017-10-12 需要積分:1
途牛從一開始的單機系統(tǒng),發(fā)展到現(xiàn)在已擁有數(shù)百個分布式部署的系統(tǒng)。本文主要將途牛網(wǎng)站無線系統(tǒng)在從小到大的過程中,遇到的問題以及解決方法與大家分享,希望為大家?guī)硪欢ń梃b。文章將從服務化推進、南北京機房之痛、性能提升實踐、App客戶端技術(shù)演進四個方面進行介紹。
  服務化推進
  途牛的服務化始于2011年,當時我們主要進行了會員的服務化,2012年進行了搜索2.0的服務化,2013年是服務化大舉前進的時刻,主要進行了搜索3.0、價格中心、訂單中心、產(chǎn)品基礎(chǔ)數(shù)據(jù)等系統(tǒng)的服務化,2014年將TSP(途牛服務治理平臺)、業(yè)務公共系統(tǒng)、資源搜索系統(tǒng)等進行服務化,2015年對產(chǎn)類目、開放API進行服務化。
  從上面的過程可以看出,我們的服務化不是一蹴而就的,而是經(jīng)歷了一個漫長的過程,每一次拆分都相當于為高速行駛的汽車更換輪胎的過程??梢宰⒁獾剑?012年我們拆分了一個搜索2.0,之后很快又在2013年推出了搜索3.0。
  這兩個版本的區(qū)別是:做搜索2.0一開始沒有什么經(jīng)驗,雖然采用了Solr這樣非常成熟的開源搜索引擎來搭建搜索平臺,但是沒有明確界定搜索平臺和業(yè)務系統(tǒng)之間的關(guān)系,導致搜索平臺的邏輯非常重,被當成一個數(shù)據(jù)聚合的平臺來使用,網(wǎng)站列表頁數(shù)據(jù)和詳情頁數(shù)據(jù)都從搜索中出來,導致搜索獲取數(shù)據(jù)源部分的邏輯非常復雜,搜索開發(fā)人員將70%的時間都放在和業(yè)務系統(tǒng)對接邏輯的處理上,索引效率也比較低,從而導致性能不穩(wěn)定,逐漸退役。吸取教訓后,我們搭建了搜索3.0的平臺,僅僅提供列表搜索,統(tǒng)一列表字段,將數(shù)據(jù)推送邏輯移到搜索外部,由各個產(chǎn)品系統(tǒng)來進行數(shù)據(jù)推送,搜索本身專注于性能的提升與穩(wěn)定性,并逐步加入智能排序、人工干預搜索結(jié)果功能。迄今為止,搜索3.0是我們公司最為穩(wěn)定的系統(tǒng)。
  接下來是服務化過程中,技術(shù)層面做得比較好的兩個服務:價格計算服務和服務治理平臺。
  價格計算服務
  從技術(shù)上,價格計算服務有兩個難點:一個是團期價格依賴的因素較多,并且依賴路徑較深;另一個是這些因素價格變動的頻率較高,尤其在旺季。因此從設(shè)計上,價格計算服務必須要有較大的容量要求,同時具有實時性。
  價格計算服務從13年開始構(gòu)建,架構(gòu)上也經(jīng)歷了四個階段:同步架構(gòu)、異步架構(gòu)、并發(fā)架構(gòu)和分布式架構(gòu),如圖1所示。
  實例分析途牛網(wǎng)站的無線架構(gòu)變遷實踐之路
  圖1 服務化的推薦 - 價格計算服務
  同步架構(gòu):系統(tǒng)間主要通過接口進行交互,其他系統(tǒng)通過調(diào)用接口通知價格中心發(fā)起運算,價格中心通過接口獲取其他系統(tǒng)價格依賴的所有資源。整個計算流程采用串行模型行,效率低僅能滿足小規(guī)模的計算需求。
  異步架構(gòu):系統(tǒng)間通過MQ進行交互,價格中心通過依賴數(shù)據(jù)庫獲取其他系統(tǒng)的數(shù)據(jù),加快了數(shù)據(jù)讀取的效率,并將計算價格變成兩段:先針對一個資源多個供應商的情況,將資源的最低成本價計算好,然后再算產(chǎn)品最低價。這種架構(gòu)比同步架構(gòu)數(shù)據(jù)讀取的效率更高,并能通過預先生成數(shù)據(jù),加快計算的速度,提升3倍整體性能。
  并發(fā)架構(gòu):首先將價庫自身的數(shù)據(jù)(資源的成本價,產(chǎn)品團期起價)進行了分庫分表,提升了系統(tǒng)的數(shù)據(jù)容量,然后再根據(jù)產(chǎn)品的訪問頻度區(qū)分冷熱數(shù)據(jù)的計算頻率,冷數(shù)據(jù)降低計算頻率,熱數(shù)據(jù)增加計算頻率——并通過在內(nèi)存中建立團期、行程、資源這三個維度的數(shù)據(jù)結(jié)構(gòu),提升計算過程中數(shù)據(jù)的讀寫效率。整體上性能比異步架構(gòu)提升了3.5倍,每次每個團期的價格計算時間控制在200ms以下。
  分布式架構(gòu):通過解析依賴數(shù)據(jù)庫的Binlog,將依賴數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換成適合使用的內(nèi)存數(shù)據(jù)庫結(jié)構(gòu),進一步提升數(shù)據(jù)讀取效率,從而解決計算過度依賴數(shù)據(jù)庫的問題,通過使用Sharding MQ,實現(xiàn)本地訪問、本地計算;通過使用Unix域通信的機制,實現(xiàn)本地通信,將每個計算實例所依賴的資源和通信盡量限制在本地服務器上,最大化提升I/O能力,降低I/O損耗。整體性能比并發(fā)架構(gòu)提升2倍,每次每個團期的價格計算時間控制在100ms以下。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

實例分析途牛網(wǎng)站的無線架構(gòu)變遷實踐之路下載

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?