120214-749av,在线观看欧美日韩视频,专干老肥熟女视频网站300部,亚洲欧美日韩一区二区三区搜索,小说乱伦AV电影,又黄又湿免费高清视频

 
深圳網(wǎng)站建設(shè)設(shè)計(jì)

將想法與焦點(diǎn)和您一起共享

深圳網(wǎng)站建設(shè)設(shè)計(jì) 深圳網(wǎng)站優(yōu)化排名 深圳網(wǎng)站設(shè)計(jì)制作欣賞

架構(gòu)模式在新浪微博的應(yīng)用

2018-01-12  閱讀: 深圳網(wǎng)站建設(shè)設(shè)計(jì)

2.2架構(gòu)模式在新浪微博的應(yīng)用
短短幾年時(shí)間新浪微博的用戶數(shù)就從零增長到數(shù)億,明星用戶的粉絲數(shù)達(dá)數(shù)千萬,圍繞著新浪微博正在發(fā)展一個(gè)集社交、媒體、游戲、電商等多位一體的生態(tài)系統(tǒng)。

深圳網(wǎng)站建設(shè)同大多數(shù)網(wǎng)站一樣,新浪微博也是從一個(gè)小網(wǎng)站發(fā)展起來的。簡單的LAMP(Linux+Apache+MySQL+PHP)架構(gòu),支撐起最初的新浪微博,應(yīng)用程序用PHP開發(fā),所有的數(shù)據(jù),包括微博、用戶、關(guān)系都存儲(chǔ)在MySQL數(shù)據(jù)庫中。

這樣簡單的架構(gòu)無法支撐新浪微博快速發(fā)展的業(yè)務(wù)需求,隨著訪問用戶的逐漸增加,系統(tǒng)不堪重負(fù)。新浪微博的架構(gòu)在較短時(shí)間內(nèi)幾經(jīng)重構(gòu),鼓后形成現(xiàn)在的架構(gòu),如圖2.1所示。

架構(gòu)模式在新浪微博的應(yīng)用
系統(tǒng)分為三個(gè)層次,最下層是基礎(chǔ)服務(wù)層,提供數(shù)據(jù)庫、緩存、存儲(chǔ)、搜索等數(shù)據(jù)服務(wù),以及其他一些基礎(chǔ)技術(shù)服務(wù),這些服務(wù)支撐了新浪微博的海量數(shù)據(jù)和高并發(fā)訪問,是整個(gè)系統(tǒng)的技術(shù)基礎(chǔ)。

中間層是平臺(tái)服務(wù)和應(yīng)用服務(wù)層,新浪微博的核心服務(wù)是微博、關(guān)系和用戶,它們是新浪微博業(yè)務(wù)大廈的支柱。這些服務(wù)被分割為獨(dú)立的服務(wù)模塊,通過依賴調(diào)用和共享基礎(chǔ)數(shù)據(jù)構(gòu)成新浪微博的業(yè)務(wù)基礎(chǔ)。

最上e是API和新浪微博的業(yè)務(wù)層,各種客戶端(包括Web網(wǎng)站)和第三方應(yīng)用,通過調(diào)用AP丨集成到新浪微博的系統(tǒng)中,共同組成一個(gè)生態(tài)系統(tǒng)。

這些被分層和分割后的業(yè)務(wù)模塊與基礎(chǔ)技術(shù)模塊分布式部署,每個(gè)模塊都部署在一組獨(dú)立的服務(wù)器集群匕通過遠(yuǎn)程調(diào)用的方式進(jìn)行依賴訪問。新浪微博在早期還使用過一種叫作MPSS ( MultiPort Single Server,單服務(wù)器多端口)的分布式集群部署方案,在集群中的多臺(tái)服務(wù)器h,每臺(tái)都部署多個(gè)服務(wù),每個(gè)服務(wù)使用不同的端口對(duì)外提供服務(wù),通過這種方式使得有限的服務(wù)器可以部署更多的服務(wù)實(shí)例,改善服務(wù)的負(fù)載均衡和可用性?,F(xiàn)在網(wǎng)站應(yīng)用中常見的將物理機(jī)虛擬化成多個(gè)虛擬機(jī)后,在虛擬機(jī)上部署應(yīng)用的方案跟新浪微博的MPSS方案異曲同工,只是更加簡單,還能在不同虛擬機(jī)上使用相同的端口號(hào)。

架構(gòu)模式在新浪微博的應(yīng)用

在新浪微博的早期架構(gòu)中.微博發(fā)布使用同步推模式,用戶發(fā)表微博后系統(tǒng)會(huì)立即將這條微博插入到數(shù)據(jù)庫所有粉絲的訂閱列表中,當(dāng)用戶M比較大時(shí),特別是明星用戶發(fā)布微博時(shí),會(huì)引起大量的數(shù)據(jù)庫寫操作,超出數(shù)據(jù)庫負(fù)載,系統(tǒng)性能急劇下降,用戶響應(yīng)延遲加劇。后來新浪微博改用異步推拉結(jié)合的模式,用戶發(fā)表微博后系統(tǒng)將微博寫入消息隊(duì)列后立即返回,用戶響應(yīng)迅速,消息隊(duì)列消費(fèi)者任務(wù)將微博推送給所有當(dāng)前在線粉絲的訂閱列表中,非在線用戶登錄后再根據(jù)關(guān)注列表拉取微博訂閱列表。

由于微博頻繁刷新,新浪微博使用多級(jí)緩存策略,熱門微博和明星用戶的微博緩存在所冇的微博服務(wù)器上,在線用戶的微博和近期微博緩存在分布式緩存集群中,對(duì)于微博操作中最常見的“刷微博”操作,幾乎全部都是緩存訪問操作,可以獲得很好的系統(tǒng)博操作中最常見的“刷微博”操作,幾乎全部都是緩存訪問操作,可以獲得很好的系統(tǒng)性能。

為了提高系統(tǒng)的整體可用性和性能,新浪微博啟用了多個(gè)數(shù)據(jù)屮心。這些數(shù)據(jù)中心既是地區(qū)用戶訪問中心,用戶可以就近訪問最近的數(shù)據(jù)中心以加快訪問速度,改善系統(tǒng)性能;同時(shí)也是數(shù)據(jù)冗余復(fù)制的災(zāi)備中心,所有的用戶和微博數(shù)據(jù)通過遠(yuǎn)程消息系統(tǒng)在不同的數(shù)據(jù)屮心之間同步,提高系統(tǒng)可用性。

同時(shí),新浪微博還開發(fā)了一系列自動(dòng)化工具,包括自動(dòng)化監(jiān)控,自動(dòng)化發(fā)布,自動(dòng)化故障修復(fù)等,這些自動(dòng)化工具還在持續(xù)開發(fā)中,以改善運(yùn)維水平提高系統(tǒng)可用性。

由于微博的開放特性,新浪微博也遇到了一系列的安全挑戰(zhàn),垃圾內(nèi)容、偎尸粉、微博攻擊從未停止,除了使用一般網(wǎng)站常見的安全策略,新浪微博在開放平臺(tái)上使用多級(jí)安全審核的策略以保護(hù)系統(tǒng)和用戶。

架構(gòu)模式在新浪微博的應(yīng)用

2.3小結(jié)

在程序設(shè)計(jì)與架構(gòu)設(shè)計(jì)領(lǐng)域,模式正變得越來越受人關(guān)注,許多人寄希望通過模式一勞永逸地解決自己的問題。正確使用模式可以更好地利用業(yè)界和前人的思想與實(shí)踐,用更少的時(shí)間開發(fā)出更好的系統(tǒng),使設(shè)計(jì)者的水平也達(dá)到更高的境界。但是模式受其適用場景限制,對(duì)系統(tǒng)的要求和約束也很多,不恰當(dāng)?shù)厥褂媚J街粫?huì)畫虎不成反類犬,不但沒有解決原來的老問題,反而帶來了更棘手的新問題。

好的設(shè)計(jì)絕對(duì)不是模仿,不是生搬硬套某個(gè)模式,而是對(duì)問題深刻理解之上的創(chuàng)造與創(chuàng)新,即使是“微創(chuàng)新”,也是讓人耳—新的似曾相識(shí)。山寨與創(chuàng)新的最大區(qū)別不在于是否抄襲,是否模仿,而在于對(duì)問題和需求是否真正理解與把握。

將文章分享到..
吉安市| 钟山县| 大化| 栖霞市| 鄢陵县| 库尔勒市| 静安区| 南澳县| 陇南市| 桐柏县| 桑植县| 凤翔县| 红桥区| 分宜县| 宜都市| 曲靖市| 县级市| 通山县| 高安市| 图们市| 密云县| 资源县| 华亭县| 黔江区| 尼木县| 禄丰县| 迭部县| 莱阳市| 哈尔滨市| 古蔺县| 金乡县| 乌鲁木齐市| 韩城市| 海安县| 苍山县| 定州市| 岳阳县| 邵阳市| 阳山县| 清河县| 滨州市|