京東中間件應用實戰

       在互聯網應用研發過程當中,中間件扮演着極其重要角色,由於數據存取、服務劃分、消息傳遞、mysql

負載均衡、DNS、CDN等等。redis

       中間件在互聯網應用開發中有着重要做用,其中以微服務、數據存取、消息隊列三大中間件最sql

爲重要。docker

       微服務,最先程序研發是一個大的總體,存在問題研發困難,困難主要表如今修改後程序容易數據庫

致使其餘模塊不可用,單體程序還存在一個流量預估難題,平時還好電商大促流量突增,單體程序緩存

流量預估難度極大,而微服務一會兒將問題簡化多個量級,只要預估好每一個人維護微服務程序就可網絡

以了。架構

       JD微服務是本身研發框架,與dubbo相比整個架構設計緊湊簡潔,dubbo相比設計擴展性強,app

各有優劣。核心差別不大,線上有個大流量服務大促時6000萬/分鐘,100萬qps 150臺4核16G容負載均衡

器。dubbo是阿里開源好東西,對業界微服務化極大推進,感謝開源,dubbo可以支持千萬級、億

級每分鐘掉用量處理,是極其優秀框架,最近又重啓更新,須要用到微服務的能夠放心用起來。

       微服務自己客戶端實現軟負載均衡,節省大量硬件做爲負載均衡使用,缺點也是有的,微服務

橫向擴展容易,縱向也可以方便分層,但儘可能不能分太多層,由於每層均存在網絡耗時。

       記得app首頁入口圖第一版服務,單個容器規格4核8G內存50G硬盤,但個容器能處理請求10萬/

分鐘,並且還能夠加量繼續壓,輕輕鬆鬆完成c100k處理。

       數據存取,存儲讀取是應用程序永恆主題,分佈式緩存redis這篇文章介紹過大型電商互聯網架構中redis運用

redis內存緩存是快,天下武功惟快不破,可是內存目前仍是極其昂貴資源,分佈式文件系統,Google

大數據三架馬車之一bigtable,能支撐Google搜索引擎對於網頁存儲與檢索,感興趣也可進行研究使用,

遺憾是google未開源,但百度開源了分佈式文件系統BFS對應HDFS、以及分佈式數據庫TERA對應

bigtable,據官方公開文檔查詢性能在10ms如下,進行參數設置性能能到1ms。

       消息隊列,消息隊列在爲複雜程序節藕,大公司不一樣部門系統、模塊之間數據通信,移動端數據上

報等多個重要流程,均離不開他,在數據通信傳輸佔有核心地位。

       清晰記得新浪微博,在初期有一段時間點贊時響應極其慢,最尷尬的事還常常失敗,用戶體驗極差,

簡直讓用戶抓狂,後來看到網上分享瞭解到是由於點贊包含多個流程,在原微博上點贊加一,在本身用

戶上增長和這條微博點贊關係,權重計算處權重加一用於微博feed分發這條用等等邏輯,再一次須要全

走完很是慢,用消息隊列節藕,點贊發消息就能夠給客戶端反饋成功,性能呈指數級提高,各個模塊取

消息進行消費處理進行相應操做就能夠了,用戶體驗極大提高。

       對於數據交互通訊場景,瞭解到大數據那塊數據分兩塊一個是離線hive表交乎一個是讀取mysql或提

供微服務拉取數據交互,有前邊這些還不夠,由於又個須要及時增刪改場景就須要消息隊列進行處理,比

如評論或問答用戶回答質量差這時就須要,刪除消息將質量差評論、問答刪除掉。對了目前各大互聯網

公司用的比較多消息隊列是Kafka以及ActiveMQ。

       數據上報場景,移動時代數據點擊、瀏覽、GMV、轉化率等各個指標都離不開數據埋點上報,個性

化推薦系統特徵工程中數據彙總上報也離不開消息隊列,上報流程通常是Storm實施消費消息數據落到大

數據HDFS、HBase等。這個過程當中消息隊列都是必不可少的。

       互聯網公司中間件佔有重要地位,對於應用快速開發,數據穩定訪問,數據上報等,服務高性能、高

可用發揮着重要做用。中間件之中又以服務劃分、服務治理,數據存取,消息隊列中間件最爲重要。

        其餘中間件,例如JD自己有本身研發UMP能方便監控應用性能、可用率、容器cpu、內存、線程等多

個指標,開源好比性能監控有大衆點評CAT。再有智能DNS、CDN、負載均衡lvs、haproxy等等中間件也

在互聯網架構中發揮這重要做用。

        容器自己在JD也發揮着重要做用,線上服務100%在容器中,大數據spark那些據瞭解也在容器化進行

中。以docker表明容器化技術,cpu、內存隔離性好,網絡吞吐也極高,是一種極其優秀技術。

       docker目前存在問題,大促時有些個別機器,它的服務cpu、內存佔用太高影響其餘容器裏面服務,這

種狀況備戰期間要仔細觀察,儘可能和負載高應用避開,這種問題我的看到佔比極其小,容器技術在互聯網公

司目前發揮着重要做用。

        寫出來記錄一下,一是爲後續查找方便,另外若是對讀者若是遇到相應問題正在束手無策,文章若是能

帶來一些啓發那就更好了。

      掃碼關注公衆號

相關文章
相關標籤/搜索