成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭秘Twitter網(wǎng)站架構(gòu):沒有最復雜只有更復雜

開發(fā) 前端
作為140個字的締造者,twitter太簡單了,又太復雜了,今天就結(jié)合網(wǎng)絡(luò)上的一些資料,來淺談一下我對twitter網(wǎng)站架構(gòu)的學習體會,希望給路過的朋友一點啟示。

作為140個字的締造者,twitter太簡單了,又太復雜了,簡單是因為僅僅用140個字居然使有幾次世界性事件的傳播速度超過任何媒體,復雜是因為要為2億用戶提供這看似簡單的140個字的服務(wù),這真的是因為簡單,所以復雜。可是比較遺憾的是目前在中國大陸twitter是無法訪問的,但作為一個愛好架構(gòu)的程序猿,這道墻是必須得翻的,墻外的世界更精彩。今天就結(jié)合網(wǎng)絡(luò)上的一些資料,來淺談一下我對twitter網(wǎng)站架構(gòu)的學習體會,希望給路過的朋友一點啟示.......

一、twitter網(wǎng)站基本情況概覽

◆ 截至2011年4月,twitter的注冊用戶約為1.75億,并以每天300000的新用戶注冊數(shù)增長,但是其真正的活躍用戶遠遠小于這個數(shù)目,大部分注冊用戶都是沒有關(guān)注者或沒有關(guān)注別人的,這也是與facebook的6億活躍用戶不能相提并論的。

◆ twitter每月有180萬獨立訪問用戶數(shù),并且75%的流量來自twitter.com以外的網(wǎng)站。每天通過API有30億次請求,每天平均產(chǎn)生5500次tweet,37%活躍用戶為手機用戶,約60%的tweet來自第三方的應(yīng)用。

◆ 平臺:Ruby on Rails 、Erlang 、MySQL 、Mongrel 、Munin 、Nagios 、Google Analytics 、AWStats 、Memcached

下圖是twitter的整體架構(gòu)設(shè)計圖:

 

 

二、twitter的平臺

twitter平臺大致由twitter.com、手機以及第三方應(yīng)用構(gòu)成,如下圖所示:

 

 

其中流量主要以手機和第三方為主要來源。

◆ Ruby on Rails:web應(yīng)用程序的框架

◆ Erlang:通用的面向并發(fā)的編程語言,開源項目地址:http://www.erlang.org/

◆ AWStats:實時日志分析系統(tǒng):開源項目地址:http://awstats.sourceforge.net/

◆ Memcached:分布式內(nèi)存緩存組建

◆ Starling:Ruby開發(fā)的輕量級消息隊列

◆ Varnish:高性能開源HTTP加速器

◆ Kestrel:scala編寫的消息中間件,開源項目地址:http://github.com/robey/kestrel

◆ Comet Server:Comet是一種ajax長連接技術(shù),利用Comet可以實現(xiàn)服務(wù)器主動向web瀏覽器推送數(shù)據(jù),從而避免客戶端的輪詢帶來的性能損失。

◆ libmemcached:一個memcached客戶端

◆ 使用mysql數(shù)據(jù)庫服務(wù)器

◆ Mongrel:Ruby的http服務(wù)器,專門應(yīng)用于rails,開源項目地址:http://rubyforge.org/projects/mongrel/

◆ Munin:服務(wù)端監(jiān)控程序,項目地址:http://munin-monitoring.org/

◆ Nagios:網(wǎng)絡(luò)監(jiān)控系統(tǒng),項目地址:http://www.nagios.org/

三、緩存

講著講著就又說到緩存了,確實,緩存在大型web項目中起到了舉足輕重的作用,畢竟數(shù)據(jù)越靠近CPU存取速度越快。下圖是twitter的緩存架構(gòu)圖:

 

 

大量使用memcached作緩存

◆ 例如,如果獲得一個count非常慢,你可以將count在1毫秒內(nèi)扔入memcached

◆ 獲取朋友的狀態(tài)是很復雜的,這有安全等其他問題,所以朋友的狀態(tài)更新后扔在緩存里而不是做一個查詢。不會接觸到數(shù)據(jù)庫

◆ ActiveRecord對象很大所以沒有被緩存。Twitter將critical的屬性存儲在一個哈希里并且當訪問時遲加載

◆ 90%的請求為API請求。所以在前端不做任何page和fragment緩存。頁面非常時間敏感所以效率不高,但Twitter緩存了API請求

在memcached緩存策略中,又有所改進,如下所述:

1、創(chuàng)建一個直寫式向量緩存Vector Cache,包含了一個tweet ID的數(shù)組,tweet ID是序列化的64位整數(shù),命中率是99%

2、加入一個直寫式行緩存Row Cache,它包含了數(shù)據(jù)庫記錄:用戶和tweets。這一緩存有著95%的命中率。

3、引入了一個直讀式的碎片緩存Fragmeng Cache,它包含了通過API客戶端訪問到的sweets序列化版本,這些sweets可以被打包成json、xml或者Atom格式,同樣也有著95%的命中率。

4、為頁面緩存創(chuàng)建一個單獨的緩存池Page Cache。該頁面緩存池使用了一個分代的鍵模式,而不是直接的實效。

四、消息隊列

◆ 大量使用消息。生產(chǎn)者生產(chǎn)消息并放入隊列,然后分發(fā)給消費者。Twitter主要的功能是作為不同形式(SMS,Web,IM等等)之間的消息橋

◆ 使用DRb,這意味著分布式Ruby。有一個庫允許你通過TCP/IP從遠程Ruby對象發(fā)送和接收消息,但是它有點脆弱

◆ 移到Rinda,它是使用tuplespace模型的一個分享隊列,但是隊列是持久的,當失敗時消息會丟失

◆ 嘗試了Erlang

◆ 移到Starling,用Ruby寫的一個分布式隊列

◆ 分布式隊列通過將它們寫入硬盤用來挽救系統(tǒng)崩潰。其他大型網(wǎng)站也使用這種簡單的方式

五、總結(jié)

1、數(shù)據(jù)庫一定要進行合理索引

2、要盡可能快的認知你的系統(tǒng),這就要你能靈活地運用各種工具了

3、緩存,緩存,還是緩存,緩存一切可以緩存的,讓你的應(yīng)用飛起來。

原文:http://www.cnblogs.com/lonelysharer/archive/2011/10/10/2205116.html

【編輯推薦】

  1. 揭秘Google與Facebook開發(fā)之道
  2. Google算法十年變遷史
  3. Google為什么要執(zhí)行嚴格的代碼編寫規(guī)范
  4. 揭秘Google是如何做代碼審查的
  5. 揭秘Google+技術(shù)架構(gòu)
責任編輯:陳貽新 來源: 一個寂寞的分享者
相關(guān)推薦

2021-10-28 10:44:18

自動駕駛數(shù)據(jù)人工智能

2013-06-27 09:30:48

2019-01-23 07:41:27

私有云企業(yè)虛擬化

2013-04-26 11:17:48

2012-10-31 09:16:36

IT管理

2013-01-06 09:26:06

Wi-Fi網(wǎng)絡(luò)協(xié)議

2024-01-09 07:34:28

Rust架構(gòu)語言

2025-01-06 11:00:00

網(wǎng)絡(luò)安全惡意軟件網(wǎng)絡(luò)犯罪

2025-01-08 00:10:40

2012-11-14 10:51:28

淘寶技術(shù)

2011-05-12 09:18:17

Twitter手機版Web AppTwitter

2012-09-04 09:38:17

StubHub架構(gòu)票務(wù)

2022-04-26 13:54:31

隱私幣網(wǎng)絡(luò)犯罪分子財務(wù)領(lǐng)導者

2018-11-29 09:36:45

架構(gòu)系統(tǒng)拆分結(jié)構(gòu)演變

2025-04-03 08:00:51

2017-11-10 11:24:21

蘋果iPhone X全面屏

2010-08-17 22:08:05

2012-12-12 09:53:20

下一代防火墻

2012-04-20 13:56:16

2021-01-11 08:34:16

緩存穿透QPS
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 色黄视频在线 | 欧美一区二区免费 | 国产高清在线观看 | 中文字幕日韩欧美一区二区三区 | 日韩不卡一区二区 | 国产欧美日韩一区 | 男人的天堂视频网站 | 精品一区二区三区电影 | 亚洲大片一区 | 国产精品激情 | 深夜福利影院 | 亚洲欧美高清 | 欧美一级大片免费看 | 国产福利在线 | 国内自拍第一页 | 亚洲成人av在线 | 国产一区二区在线播放视频 | 日日操夜夜操视频 | 久草免费电影 | 免费一区二区三区在线视频 | 欧美久久一区二区 | 国产欧美日韩视频 | 欧美精品网站 | 中文字幕av网址 | 免费在线一区二区 | 视频一区二区国产 | 手机av在线 | 国产在线观看一区二区三区 | 盗摄精品av一区二区三区 | 911精品美国片911久久久 | 欧美成人h版在线观看 | 精品欧美一区二区三区久久久小说 | 精品国产精品 | 久久精品色欧美aⅴ一区二区 | 欧美日韩专区 | 久久毛片网站 | 在线视频中文字幕 | 91综合网 | 国产精品99久久久精品免费观看 | 色婷婷综合久久久中文字幕 | 日韩电影免费观看中文字幕 |