chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

小米Notify系統(tǒng)的設(shè)計(jì)及其演化和升級變遷

大?。?/span>0.3 MB 人氣: 2017-10-10 需要積分:1
摘要:本文首先介紹小米網(wǎng)系統(tǒng)架構(gòu)的發(fā)展變化,然后介紹Notify系統(tǒng)的設(shè)計(jì),最后介紹Notify系統(tǒng)的演化與升級變遷。希望能給各位的工作帶來一些啟發(fā)與指導(dǎo)。
  為了適應(yīng)業(yè)務(wù)的高速發(fā)展,小米網(wǎng)的系統(tǒng)架構(gòu)經(jīng)歷了很多次變更。在此過程中,為了給各個(gè)子系統(tǒng)解耦合,同時(shí)保證最終一致性原則的實(shí)現(xiàn),我們建立了自己的異步消息系統(tǒng)——
  Notify異步消息系統(tǒng)。
  小米網(wǎng)架構(gòu)發(fā)展
  小米網(wǎng)的發(fā)展大致可以分為三個(gè)階段:初創(chuàng)階段、發(fā)展階段、完善階段。
  1. 初創(chuàng)階段
  當(dāng)小米推出自己的第一部手機(jī)時(shí),為了減少渠道成本,我們開始推行電商直銷的商業(yè)模式,與此同時(shí),開始建設(shè)小米電商網(wǎng)站。最開始,小米的業(yè)務(wù)特點(diǎn)是:
  SKU(商品品類)單一;訂單量巨大;瞬時(shí)訪問量巨大。
  后兩點(diǎn)是在最初設(shè)計(jì)系統(tǒng)時(shí)完全沒有想到,因?yàn)楫?dāng)前我們并沒有預(yù)料到小米手機(jī)會如此受歡迎和供不應(yīng)求。
  在這個(gè)階段,快速上線是第一目標(biāo),因?yàn)閳F(tuán)隊(duì)需要快速配合公司的手機(jī)銷售計(jì)劃。所以一開始小米網(wǎng)的架構(gòu)設(shè)計(jì)比較簡單,并沒有考慮高并發(fā)和大數(shù)據(jù)的情況。當(dāng)時(shí)系統(tǒng)從立項(xiàng)到上線僅兩個(gè)多月時(shí)間,并且只由三名工程師開發(fā)完成。
  小米Notify系統(tǒng)的設(shè)計(jì)及其演化和升級變遷
  圖1 小米電商初期的系統(tǒng)架構(gòu)
  從圖中可以看出,系統(tǒng)架構(gòu)只有兩個(gè)Web服務(wù)器與一個(gè)DB服務(wù)器,兩臺Web服務(wù)器互為主備,所有的業(yè)務(wù)功能集成在一個(gè)系統(tǒng)中。當(dāng)時(shí)的架構(gòu)設(shè)計(jì)僅能支持簡單的電商功能,我們預(yù)測每年的手機(jī)銷量能到30萬就已經(jīng)很好了。但是計(jì)劃永遠(yuǎn)趕不上變化,很快小米電商就遇到了第一個(gè)大問題:系統(tǒng)耦合度很高,導(dǎo)致當(dāng)搶購活動開始時(shí),其他業(yè)務(wù)都會受到影響。
  2. 發(fā)展階段
  為了解決上面的問題,需要對小米網(wǎng)的架構(gòu)進(jìn)行修改,把各種業(yè)務(wù)系統(tǒng)拆成獨(dú)立的子系統(tǒng)。這一時(shí)期小米電商的系統(tǒng)架構(gòu)發(fā)展的特點(diǎn)是:
  業(yè)務(wù)系統(tǒng)的拆分,小米負(fù)責(zé)處理搶購請求的大秒系統(tǒng)就是在這一階段誕生的,將搶購業(yè)務(wù)帶來的系統(tǒng)壓力完全隔離開來,確保在搶購活動時(shí)小米的其他業(yè)務(wù)可以不受影響;小米的系統(tǒng)結(jié)構(gòu)SOA(面向服務(wù)的軟件結(jié)構(gòu))化,小米各系統(tǒng)之間的通信采用接口方式來實(shí)現(xiàn),甚至我們開發(fā)了一套通信協(xié)議,叫做X5協(xié)議,來規(guī)范接口的開發(fā)與調(diào)用。
  這一階段小米網(wǎng)的架構(gòu)如下圖所示:
  小米Notify系統(tǒng)的設(shè)計(jì)及其演化和升級變遷
  圖2 小米電商發(fā)展階段的系統(tǒng)架構(gòu)
  從圖2可以看出,前端與后端系統(tǒng)完全獨(dú)立出來,當(dāng)前端進(jìn)行搶購活動時(shí),后端的客服、售后、物流三大服務(wù)系統(tǒng)不會受到任何影響。圖2中所列舉的子系統(tǒng)只是小米網(wǎng)中的一小部分較為主要的系統(tǒng),還有很多業(yè)務(wù)沒有列舉出來。
  這種系統(tǒng)架構(gòu)可以確保系統(tǒng)之間不會受到影響,但是接口的穩(wěn)定性就成了一個(gè)至關(guān)重要的問題。這種系統(tǒng)架構(gòu)幾乎所有的接口都是同步接口,意思就是說一個(gè)業(yè)務(wù)調(diào)用這些接口如果不成功,業(yè)務(wù)也無法成功。如果出現(xiàn)網(wǎng)絡(luò)問題或者接口BUG,就會導(dǎo)致大量業(yè)務(wù)失敗。但事實(shí)上,并非所有的接口都必須做成同步性的,有些業(yè)務(wù)比如訂單系統(tǒng)把訂單信息發(fā)給倉儲系統(tǒng)生產(chǎn),就對同步性的要求不是很高,可以考慮使用異步方式來解決。為了解決這個(gè)問題,小米網(wǎng)架構(gòu)下一步的演化就是建立一個(gè)異步消息隊(duì)列系統(tǒng)。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

小米Notify系統(tǒng)的設(shè)計(jì)及其演化和升級變遷下載

相關(guān)電子資料下載

      發(fā)表評論

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

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

      ?