国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

人人網移動開發架構(下)

移動開發 移動應用
在接下來的一到兩年,移動互聯網將以前所未有的速度發展,大部分互聯網公司都開始了或已經推出了較成熟的移動終端的解決方案,創業公司也會層出不窮,推出各種優秀的移動終端應用:移動支付,LBS,基本通訊簿的即時通信,手機音樂,手機視頻,手機閱讀等等,iPad點燃平板電腦的硝煙,平板的設計再次給了我們很大的挑戰,數風流人物,還看今朝。

相關文章人人網移動開發架構(上)

真的可以統一架構嗎?

可以,瀏覽器本身就是一個非常優秀的跨平臺解決方案,但這個方案的前期投入非常大,且項目執行風險過高,人人網的業務大都是基本動態網頁實現,使用了大量的AJAX及Flash技術,最終我們放棄了瀏覽器方案,我們要的統一架構肯定不是這個。

山窮水盡,柳暗花明

放棄了瀏覽器的方案,我們可謂山窮水盡,難道還有第三個方案?Facebook的iPhone應用給了我們很大靈感,看圖:

圖3

從產品的角度看,這個圖顯示的布局與我們***次嘗試的設計沒什么區別,深入一點我們會發現,這個設計與之前的設計***區別在于頁面跳轉,每個標簽都有獨 立的一個視圖棧,理論上無限大,通過當前棧頂視圖可以打開新的視圖后自動壓棧保存,當前視圖如果要后退默認退回視圖棧里保存的上一個視圖的內容。那如果是 標簽1的頁面需要跳轉到標簽2對應的頁面怎么辦呢,是否自動切標簽?答案是不切,標簽只是用于業務導航,且有獨立的視圖棧,視圖棧中的頁面可以與業務無 關,打個很好理解的比方:當我們在使用Chrome的瀏覽器時,我們同時在多個標簽分別打開多個不同網站或頁面,也可以打開同樣的網站或頁面,每個標簽都 有一個獨立的后退的記錄,這種設計非常有規律,用戶容易理解不容易暈,現在頁面跳轉及后退的問題很好的解決了。不論JavaME,還是iPhone或者 Android的客戶端,我們都使用了同樣的設計。

數風流人物,還看今朝

當我們客戶端都使用了這種標簽+視圖棧的方案以后,我們的各平臺在設計上基本達到了統一,并在現有設計上快速迭代演進。大家可能想了,在代碼層統一這才 叫本事,也許你沒錯,但是我們不會輕意再做這樣高風險的嘗試,如今手機平臺的差異相當的大,就從主流平臺的開發語言看就夠你折騰了,JavaME及 Android是使用的Java , iPhone使用的是 Objective-C,Symbian是純C++, 現在諾基亞與微軟聯姻WP7,可WP7將不再支持C/C++的開發,主推C# + Silverlight,好吧,我們只能再觀察一下了。

在接下來的一到兩年,移動互聯網將以***的速度發展,大部分互聯網公司都開始了或已經推出了較成熟的移動終端的解決方案,創業公司也會層出不窮,推出各種優秀的移動終端應用:移動支付,LBS,基本通訊簿的即時通信,手機音樂,手機視頻,手機閱讀等等,iPad點燃平板電腦的硝煙,平板的設計再次給了我們很大的挑戰,數風流人物,還看今朝。

高可靠性和可擴展的服務

現在移動互聯網拼的都是服務,客戶端良好的用戶體驗背后,都有強大的服務器技術支撐,人人網也不外如是。

業務層次模型

人人網采用JavaEE技術作為主要的業務解決方案,基本按照通用的JavaEE模型進行架構設計,如下圖: 

圖4 人人網業務層次模型

  • WEB層基于REST風格和MVC設計模式,為用戶提供基于WEB的訪問接口人人網采用的是自己開發的WEB框架 Rose,該框架基于Spring Framework,類似RoR框架,增強了對Controller編碼部分的默認約定和REST風格URL的支持,該項目前已開源,下載地址為http://code.google.com/p/paoding-rose/
  • 業 務層封裝業務邏輯,為WEB層提供業務接口,操作數據訪問層提供的數據。人人網開發了自己的SOA框架XOA以支持業務層抽象,該框架結合Rose框架, 以REST風格對業務進行分類、消息格式封裝和路由,如以下URL:xoa://blog.xoa.renren.com/photo/{user- id}/{photo-id}該URL代表某用戶的某個照片,操作 GET/PUT/POST/DELETE分別對應對應照片資源的讀、修改、新增、刪除。即通過資源+操作的方式對外提供Service。 XOA支持遠程調用,并可以通過簡單添加服務器的方式進行橫向擴展。該框架目前準備開源,敬請關注。
  • 數據訪問層提供對數據庫訪問的封裝人人網使用Java語言開發了自己的Object-Relation Mapping框架JADE(Java Database Engine),并支持數據庫的水平橫向切分。該框架和Rose框架一體開源,下載地址相同。
  • 數 據持久層數據的持久存儲,主要采用MySQL數據庫,并且開發了自己的海量存儲系統Nuclear。Rose、Jade、XOA作為集成度很高的一整套解 決方案,在人人網大量采用,大大降低了開發成本,并在框架級解決了服務于企業解決方案的JavaEE技術在互聯網領域的適用性。

可擴展的高性能系統

人人網每天都要承受億級PV海量用戶的并發壓力,和其它大型互聯網站點類似,服務器架構方面做了很多工作。

高性能數據存儲系統

在數據存儲方面,人人網做了以下工作:

  • 和其它互聯網大型站點相同,MySQL數據庫做水平拆分以支持橫向擴展
  • 人人網作為國內***大SNS網站,欲存海量UGC數據,必有海量存儲系統。Nuclear存儲系統在高性能、高可靠、可擴展的海量數據存儲需求下橫空出世。

Nuclear本身的數據存儲基于Key-Value形式,底層可以使用MySQL/Memory, Cassandra, TC, Redis等存儲引擎,提供弱結構化的查詢功能。

  • 高擴展性一個Nuclear集群支持1到n(n<264)個節點(Node)的規模
  • 高可靠性單個節點的crash永遠對系統的運行造成影響,不存在單點風險。系統永遠可寫入。
  • 高性能在4個節點、一般服務器配置情況下有測試數據表明單節點訪問可達15862 req/s, 平均單次請求耗時僅5ms。

可擴展的高性能業務服務系統

人人網的業務層是支持分布式、可橫向擴展的。

  • 人人網主要使用JavaEE架構進行業務開發,其中Spring提供的IoC和AOP功能分別起到了業務對象裝配和橫向關注點分離的良好 抽象。XOA框架基于Spring和netty,使用google的spdy協議作為網絡傳輸協議,除享受到Spring紅利之外,也提供了基于Java NIO的網絡高性能服務器環境。單個XOA服務是無狀態的,具有冪等性,XOA客戶端使用Java NIO、通過Keep alive保持對各個后臺服務器的TCP長連接,可實時監測后臺服務器的健康狀況,并把用戶請求負載分散到各個后臺服務器上,在單個節點失效的情況下不影 響服務,如圖5所示:

     

    圖5 XOA負載均衡

     

  • 很多關鍵性的業務對性能要求特別高,也需要借助很多Linux操作系統的特性,這時Java的優化已經不能滿足需求,需要使用 C++語言進行開發。人人網采用ICE框架, 進行這部分業務的開發,它解決了Java、C++等多種語言開發的框架和通訊問題。人人網目前使用ICE進行開發的業務層稱之為中間層,主要解決類似搜 索、用戶好友關系計算等性能要求苛刻的底層關鍵性業務問題。其運維模式和XOA類似。和其它大型網站一樣,業務層使用Memcached作為業務層的分布 式數據緩存,且根據業務將緩存集群劃分為多個池,集中進行管理,如圖6所示: 

  • 圖6 Memcached Pool

  • 在WEB層,使用目前性能***的Servlet容器產品Resin作為HTTP Server,使用自行開發的Java WEB MVC框架Rose對用戶請求請求分發。負載均衡方面使用了F5或者nginx。為了減少Session復制同步的開銷,每臺WEB Server都禁用Servlet Session, 即每臺服務器都是無狀態的,單個Web Server失效后,不會發生用戶狀態丟失的問題。用戶狀態的跟蹤由中間層統一處理。

對移動終端的支持

服務器對移動終端的支持主要是通過HTTP協議提供json數據接口實現的,服務器基本采用了人人網共同的架構:

  • HTTP WEB層做了更多的MVC抽象,除了提供基于html的Page View之外,還生成只提供json或者其他數據格式的Feed View。
  • 服務器通過gzip壓縮減少流量,節省用戶資費。
  • 客戶端構建REST風格的HTTP請求,WEB服務器下發數據完成遠程調用。

3G的API層直接面向移動終端,提供基于HTTP和其他Socket協議的服務器訪問接口,并在業務層抽象出3G部門自己的公共平臺,如圖4所示: 

圖7 3G API架構

除此之外,針對移動終端的特點和中國特色的移動互聯網環境,做了一些特殊的工作:

  • 低端機型運算能力和內存資源都有限,API平臺做了相應優化
    • 復雜的運算服務器完成,減少移動終端負載。如圖片的縮放、裁剪運算、圖片質量就是服務器進行的。
    • 客戶端和服務器進行的數據輸入輸出盡量減小,這樣可以節省內存存儲。在表示相同數據的情況下,盡量采用數據量小且易于解析的格式。API平臺使用了JSON,沒有使用XML
  • 為了減少用戶資費,傳輸流量進行了控制
    • nginx開啟gzip壓縮,減少網絡傳輸流量。
    • 中國移動的cmwap網關會自動對服務器輸出的gzip流進行解壓縮,從而使nginx的zip壓縮失去了意義。這種情況下,api服務器對輸出進行gzip壓縮后,作為普通二進制流進行響應輸出。
    • 除了純文本的json之外,api服務器也支持基于google protocol buffers格式的輸出,從而提供更緊湊的格式輸出。
  • 提高客戶端訪問速度
    • Api平臺支持基于邏輯時序的批處理操作,將多個api的網絡接口調用合并為一個,減少多次tcp握手造成的巨大時間損耗,提高客戶端每個UI界面的響應和顯示速度。
責任編輯:閆佳明 來源: cnblogs
相關推薦

2013-09-03 10:10:00

人人網移動開發架構

2011-03-14 13:40:02

移動Web架構人人網

2011-12-08 14:09:07

2011-11-15 19:06:38

人人網王立楠

2011-12-13 13:54:42

2011-12-08 16:18:40

2011-12-13 14:15:30

2013-01-05 14:51:34

JavaScriptjQuery面試

2010-09-08 08:55:00

后臺架構數據庫SNS網站

2017-07-17 15:19:10

MVVM模式iOS開發MVP

2011-12-08 16:39:58

京東商城

2011-12-12 16:05:59

開放平臺

2011-10-31 17:29:27

人人網客戶端照片

2012-11-08 14:55:10

2011-03-30 14:33:57

jQueryJavaScript

2011-09-27 07:26:33

程序員

2011-06-27 13:44:42

人人吳疆SNS

2011-12-23 14:05:08

Ruby on RaiSDK人人網

2010-04-27 16:33:13

WEB開發

2011-11-04 15:03:36

照片客戶端人人飛傳
點贊
收藏

51CTO技術棧公眾號

国产51人人成人人人人爽色哟哟| 久久久久久久久久久免费精品| 亚洲欧美怡红院| 99国产精品久| 激情av综合网| 图片区小说区国产精品视频| 一区二区91美女张开腿让人桶| 日韩av午夜| 欧美精品久久天天躁| 欧美vide| 日韩av在线不卡| 久久99精品久久久水蜜桃| 91成人在线观看喷潮教学| 蜜桃视频网站在线观看| 国内精品视频666| 久久亚洲影音av资源网| 三级资源在线| 日韩av最新在线| 黄色在线观看网站| 欧美日韩视频在线第一区 | 亚洲精品成人悠悠色影视| 日av在线播放中文不卡| sm久久捆绑调教精品一区| 另类小说视频一区二区| 日产中文字幕在线精品一区| 性伦欧美刺激片在线观看| 中文字幕在线观看日韩| 国产精品一区二| 草草在线观看| 蜜桃免费网站一区二区三区| 欧洲精品一区二区| 国产精品一区二| 91精品亚洲| 欧美福利一区二区三区| 久久久久久久波多野高潮日日| 精品中文字幕视频| 国产剧情在线| 日韩免费一区二区| gogo久久| 亚洲一二三在线| 成人啊v在线| 国产精选一区二区| 午夜视频精品| 电影午夜精品一区二区三区| 国产精品chinese| 日韩经典在线视频| 国产精品亲子伦对白| 肥女人的一级毛片| 亚洲第一色在线| 亚洲精品国产九九九| 国产精品r级在线| 97精品一区| 91久久久久久久久| 青青国产91久久久久久| 香蕉视频禁止18| 色婷婷亚洲精品| 国产素人视频在线观看| 亚洲欧美另类自拍| 久久99青青| youjizz.com亚洲| 一本色道a无线码一区v| 成人动漫视频在线观看| 国产精品日韩一区二区免费视频| 国产成人欧美日韩在线电影| aa在线免费观看| 色呦呦国产精品| 欧美男人操女人视频| 红桃一区二区三区| 日韩小视频在线观看专区| 久久夜色电影| 人妻无码视频一区二区三区 | 免费在线观看日韩视频| 日韩电影在线观看中文字幕| 欧美体内she精视频在线观看| 1024亚洲| 国模精品系列视频| 国内精品免费在线观看| 一区二区三区性视频| 91精品国产高清久久久久久久久| av午夜精品一区二区三区| 日本免费在线视频| 91pron在线| 欧美精品18+| 首页国产欧美久久| 四虎亚洲成人| 日本一级黄视频| 欧美高清视频在线高清观看mv色露露十八| 91蜜桃臀久久一区二区| 视色视频在线观看| 国产亚洲精品成人av久久ww| 亚洲欧美色图| 欧美日本韩国一区二区| 2020国产精品久久精品不卡| 欧美影视一区在线| 亚洲裸体俱乐部裸体舞表演av| 自拍视频在线播放| 欧美日韩精品免费观看视一区二区 | 99视频一区二区三区| 成人av婷婷| 一级毛片免费在线| 国产精品成人品| 亚洲欧美激情一区二区| 成人短片线上看| 亚洲激情文学| 91视频成人免费| 欧美国产日产韩国视频| 欧美日韩在线视频首页| 久久精品国产精品亚洲红杏| 亚洲小少妇裸体bbw| 免费的av电影| 中文字幕日韩电影| 亚洲一区二区五区| 国产一区二区三区精品在线观看| 国产精品精华液网站| 国产精品久久久久久久天堂| 欧美日韩在线三级| 91亚洲精品一区二区乱码| 国产探花一区| 三级成人黄色影院| 免费日韩中文字幕| 欧美日韩电影一区二区| 777777777亚洲妇女| 亚洲国产欧美一区二区三区同亚洲| 国产精品福利一区二区| 欧美日韩国产高清| 精品久久ai电影| 国产精品亚洲欧美一级在线| 中文在线一二区| 亚洲色图都市激情| 国产成+人+综合+亚洲欧美丁香花| 91精品婷婷国产综合久久性色| 中文字幕亚洲一区二区va在线| 久久99久久人婷婷精品综合| 警花av一区二区三区| 自拍偷拍亚洲视频| 中文字幕在线第一页| 手机看片福利日韩| 日本在线视频www| 亚洲精品日韩精品| 欧美高清性xxxxhd| 成人综合av网| 亚洲激情精品| 免费成人网www| 国产精品xxx在线观看| 91麻豆精品| 黑人玩欧美人三根一起进| 欧美日韩在线看片| 亚洲中文字幕久久精品无码喷水| 日韩免费电影一区二区| 国产精品三级久久久久久电影| 国语自产精品视频在线看抢先版图片| 日韩欧美成人一区二区| 精品久久久久久久久久| 久久免费偷拍视频| 蜜桃精品视频在线| 欧美jizz| 狠狠入ady亚洲精品| 亚洲性视频大全| 精品欧美午夜寂寞影院| 久cao在线| 草莓福利社区在线| 亚洲羞羞网站| 在线免费观看黄| 国产无遮挡裸体视频在线观看| 天天综合网站| 国产一区二区三区四区五区| 亚洲人妖在线| 99这里只有精品| 欧美性极品少妇精品网站| 56国语精品自产拍在线观看| 日韩精品久久久久久久玫瑰园| 欧美日韩视频免费播放| 欧美一级片网址| 日韩中文字幕| 丝袜亚洲另类欧美| 老司机精品视频导航| 99视频一区二区| 香蕉影视欧美成人| 日韩电影中文 亚洲精品乱码 | 日韩脚交footjobhd| 精品免费在线| 成人午夜免费av| 欧美福利视频导航| 欧美一区二区视频97| 成人性教育视频在线观看| 亚洲最大福利网站| 日韩最新中文字幕| 性色av一区| 玖玖玖视频精品| 久久久久久久高潮| 久久久精品国产免大香伊| 午夜精品在线视频一区| 精品少妇一区二区三区日产乱码| 国产精品欧美日韩久久| 久久偷看各类wc女厕嘘嘘偷窃| 激情视频小说图片| 激情丁香婷婷| 欧美jizz18| 久久天天做天天爱综合色| 7777精品久久久大香线蕉|