91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

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

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

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

      ?