av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

魅族架構師胡成元剖析魅族應用商店架構

魅族應用商店作為國內最早的應用分發(fā)平臺,國內首創(chuàng)了許多新業(yè)務模式,比較典型的有應用內付費。但受限于其早期的封閉生態(tài),發(fā)展速度緩慢,這并不影響魅族人對技術架構的追尋與探索。

創(chuàng)新互聯建站主營龍港網站建設的網絡公司,主營網站建設方案,APP應用開發(fā),龍港h5微信小程序定制開發(fā)搭建,龍港網站營銷推廣歡迎龍港等地區(qū)企業(yè)咨詢

【作者簡介】

胡成元·魅族Flyme互聯網架構師

胡成元,魅族Flyme互聯網架構師。2011年加入魅族, 一直致力于移動應用架構研發(fā),提升產品體驗和研發(fā)效率, 目前主要負責魅族應用商店的研發(fā)架構工作。

服務化框架

平臺早期,規(guī)模小、結構簡單,職責多、關系復雜、變更影響大、擴展難。伴隨公司互聯網轉型,用戶規(guī)模高速增長,原有架構完全無法很好的服務大規(guī)模的Flyme用戶。

應用分發(fā)平臺主要解決兩個問題,一是如何讓Flyme用戶方便快捷的找到自己需要的應用;另一個是如何幫助開發(fā)者簡單迅速的將應用推廣給Flyme用戶?;谶@兩個基本需求,我們把業(yè)務邏輯模塊化,單元化。拆分出了應用管理、應用展示(榜單)、應用推薦(個性化推薦)、應用搜索等多個服務。

服務分為兩類,一類是基礎服務,該類型服務不依賴其他服務,業(yè)務邏輯簡單,僅提供基礎業(yè)務邏輯,例如應用詳情服務。另一類是聚合服務,該類聚合多個基礎服務,形成相對復雜的業(yè)務邏輯,例如應用搜索服務。

服務間采用自研的Kiev框架通訊,當然也有成型的開源方案(DUBBO)可以選擇。Kiev底層通訊基于Netty網絡框架,序列化支持協議支持Hessian、Protobuffer等,通訊協議支持TCP、UDP等??蚣芑赯K(ZooKeeper)實現了High Availability與Load Balance策略。服務調用時會采樣生成詳細的調用鏈,收集產生豐富的服務狀態(tài)數據(Response Time,QPS),為服務治理提供了詳實有力數據支撐。

接口規(guī)范

接口眾多、形式多樣,管理維護成本搞,為了規(guī)范開發(fā)流程、便于問題跟蹤定位,我們制定了統(tǒng)一的接口規(guī)范。例如接口采用RESTful風格,統(tǒng)一的接口返回形式,約定每個業(yè)務層的錯誤編碼,每個錯誤編碼還會攜帶可選的錯誤提示,方便問題跟蹤。

安全性也是平臺不可忽略的一個關鍵點,基于通用型的原則,我們采用了業(yè)界通用OAuth協議來保障接口安全。為了應對異常流量對系統(tǒng)造成的沖擊,我們給接口層添加了流量控制功能。

#p#

分布式緩存

平臺早期,分發(fā)接口采用DB+本地緩存的方式提供數據,這種模式DB壓力大、接口吞吐量小、本地緩存更新不及時。為了解決這些問題,我們引入的分布式緩存Redis。業(yè)務接口數據全部被緩存到Redis集群,緩存數據由定時任務主動刷新,零穿透,緩存即存儲、存儲即緩存。依托Redis的高性能極大的提高了系統(tǒng)吞吐量。Redis集群先按業(yè)務場景做垂直切分、再根據數據量做水平分片。業(yè)務通過代理(Twemproxy)連接所有分片。 Redis集群基于ZK實現High Availability,基于定制化腳本實現線上自動擴容,這樣既保障了緩存集群的高可用性,又滿足了集群容量自動擴充的需求。

MySQL水平分片

隨著用戶規(guī)模增長,單庫單表已無法滿足業(yè)務需求,為此我們將數據量大的用戶數據橫向拆分出多個數據庫。為了降低運維成本,我們采用了單實例多數據庫的部署模式。業(yè)務層通過分庫路由組件透明的訪問數據庫。當單實例多數據庫的模式無法支撐當前業(yè)務需求時,通過更新路由規(guī)則就可以平滑的完成DB擴容。

水平分層、垂直拓展

如下圖所示。橫向、典型的三層架構。縱向、以業(yè)務為驅動,積累沉淀了眾多技術規(guī)范、基礎組件,豐富完善了全棧業(yè)務監(jiān)控。依托完善的監(jiān)控體系,衍生出了相應的服務治理機制。

消息隊列(MetaQ)

消息隊列是分布式應用間交換信息的一種技術。為了解耦核心業(yè)務及輔助業(yè)務。我們引入消息隊列,將搜索團隊、大數據團隊需要的業(yè)務數據定期全量同步,實時增量更新。既隔離了業(yè)務間的強耦合,又保障了數據的及時性。

多機房部署

當業(yè)務規(guī)模增長到一定規(guī)模后,機房的網絡、帶塊、機架等相關資源都會成為瓶頸。所有的雞蛋放在一個籃子里,對產品來說也是一個巨大的風險點。為此我們陸續(xù)引進了主備機房、雙活機房、多地多中心的部署結構。為了動態(tài)調度機房間流量,保障用戶就近訪問,故障無縫切換,我們上線了GSLB(Global Server Load Balance)。

下載防劫持

HTTP劫持是指網頁或文件在網絡節(jié)點間傳輸時,信息被篡改替換的網絡攻擊行為。近來國內各大應用分發(fā)平臺都有不同的程度的應用下載被劫持現象,我們也難置身事外,為此,我們上線文件下載防劫持方案。

如下圖所示。平臺客戶端在下載應用前后根據應用分發(fā)時攜帶的應用信息校驗應用文件(APK)的合法性,如果文件校驗成功,直接下載并安裝應用,否則更換為HTTPS通道繼續(xù)下載應用。為防止CDN與源站的網絡被劫持,CDN回原前后也會校驗文件信息。無論劫持動作是否成功修復,客戶端均會上報操作日志,以便分析改進防劫持功能。

業(yè)務在不斷發(fā)展,架構也隨之而演進。魅族人也在不斷追尋夢想。

了解更多魅族應用商店精彩信息戳這里http://open.flyme.cn。

 


網站題目:魅族架構師胡成元剖析魅族應用商店架構
當前地址:http://uogjgqi.cn/article/ccccjij.html
掃二維碼與項目經理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流