自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從Ruby遷移到Java上后,Twitter沒有在總統(tǒng)競(jìng)選期間宕機(jī)

開發(fā) 后端 前端
周二晚上,在美國2012年總統(tǒng)大選揭曉的時(shí)刻,微博網(wǎng)站Twitter遭遇了有史以來最大的訪問沖擊,服務(wù)的負(fù)載量陡增,但卻沒讓用戶感到絲毫的反應(yīng)遲鈍——一些Twitter的開發(fā)人員把這歸功于公司把后端軟件從Ruby遷移到Java的正確決策。

周二晚上,在美國2012年總統(tǒng)大選揭曉的時(shí)刻,微博網(wǎng)站Twitter遭遇了有史以來最大的訪問沖擊,服務(wù)的負(fù)載量陡增,但卻沒讓用戶感到絲毫的反應(yīng)遲鈍——一些Twitter的開發(fā)人員把這歸功于公司把后端軟件從Ruby遷移到Java的正確決策。

根據(jù)Twitter公司負(fù)責(zé)架構(gòu)的副總工程師Mazen Rawashdeh在 博客上透露的信息,周二在太平洋時(shí)間的晚上8:11分到9:11分期間,Twitter用戶平均每秒鐘發(fā)布9965條信息。

Rawashdeh寫到,在8:20分里的有一個(gè)一秒里,Twitter用戶共寫出了15107條新微博,在訪問量最頂峰的那一分鐘里,人們共制造了874560條信息。

這樣的數(shù)量對(duì)于Twitter來說是很不尋常的,Rawashdeh說,這表明人們對(duì)Twitter服務(wù)使用上了一個(gè)新臺(tái)階。而在過去,在一些特殊 的日子里,Twitter曾經(jīng)經(jīng)歷過短暫的服務(wù)停頓,比如平安夜或運(yùn)動(dòng)的閉幕式,而像這次這樣長(zhǎng)時(shí)間持續(xù)的高訪問量的狀況,還是頭一遭。這也是 Twitter網(wǎng)站開創(chuàng)以來在競(jìng)選期間遇到的最大的一次訪問沖擊。

在過去,Twitter用戶一般都會(huì)知道,在這樣大的負(fù)載壓力下,Twitter服務(wù)通常會(huì)出問題。在Twitter早年,服務(wù)宕機(jī)如此常見,以至于網(wǎng)站有創(chuàng)意的“休克大鯨魚”的報(bào)錯(cuò)界面成了Web2.0大眾的文化標(biāo)識(shí)。

但是,周二晚上由于競(jìng)選而帶來的訪問量沖擊卻一點(diǎn)沒有撼動(dòng)它,Rawashdeh把這歸功于Twitter仍在進(jìn)行的把后端服務(wù)從Ruby和Ruby on Rails框架遷移到基于Java虛擬機(jī)(JVM)的新技術(shù)架構(gòu)的工作。

[[98275]] 

當(dāng)Twitter運(yùn)行在Ruby上時(shí),這休克大鯨魚會(huì)經(jīng)常的出現(xiàn)在你面前,但使用Java后,不多見了。

當(dāng)Twitter運(yùn)行在Ruby上時(shí),這休克大鯨魚會(huì)經(jīng)常的出現(xiàn)在你面前,但使用Java后,不多見了。

Twitter首次撤離Ruby起于2008年,引用前Twitter開發(fā)者Alex Payne的話,當(dāng)時(shí)公司的基于Ruby的消息隊(duì)列系統(tǒng)(mq)”摔了個(gè)跟頭”。

“Ruby擅長(zhǎng)于做很多事情,”當(dāng)時(shí)Payne說,“但對(duì)于長(zhǎng)時(shí)間的處理過程,尤其是需要大量?jī)?nèi)存的操作,并不是很在行。”

Twitter對(duì)于此種情況的解決方案是,把部分的Ruby程序移植到基于JVM的架構(gòu)上。起初,公司的開發(fā)團(tuán)隊(duì)拒絕Java而偏愛Scala—— 另一種JVM上的編程語言,混合有面向?qū)ο蠛兔嫦蜻^程等多種語言特征。如今,Twitter里程序是Scala程序和普通Java程序的復(fù)合體。

但有一部分Twitter服務(wù)仍然運(yùn)行于Ruby之上,但根據(jù)Rawashdeh的說法,對(duì)Ruby的使用會(huì)逐漸減少。特別的他提到,Twitter系統(tǒng)正在進(jìn)行重新配置,這樣一來,來自移動(dòng)設(shè)備的訪問再也不會(huì)接觸到任何的基于Ruby的程序。

而Twitter中使用的Ruby程序是部署在一個(gè)定制的,高度優(yōu)化過得Ruby runtime上的,專門針對(duì)執(zhí)行長(zhǎng)處理操作而進(jìn)行更高效管理內(nèi)存的優(yōu)化。

對(duì)那些鐘愛Ruby的語法、Ruby的快速開發(fā)效率、以及所有這種語言的編程理念的狂熱粉絲來說、這真不是一個(gè)受歡迎的消息。他們認(rèn)為跟其它語言比 起來性能問題并不重要,Ruby在性能上的劣勢(shì),并不能掩蓋這種語言優(yōu)雅的語法、高效的生產(chǎn)率、以及它的所有編程哲理上的光芒。

但對(duì)于Twitter來說,結(jié)果才是重要的。“底線:無論人們何時(shí)、何地、何種方式訪問Twitter,我們都要保持它24/7小時(shí)的可訪問,在世界任何一個(gè)角落。”Rawashdeh寫到,“我們?yōu)檫@個(gè)目標(biāo)奮斗不止。”

他們干的不錯(cuò)。根據(jù)這洶涌的跟競(jìng)選相關(guān)的評(píng)論來看,在奧巴馬做美國總統(tǒng)的第二屆任期里,Twitter的平均訪問量將會(huì)繼續(xù)攀升。

英文原文:Twitter survives election after Ruby-to-Java move

譯文鏈接:http://www.oschina.net/news/34891/twitter_epic_traffic_saved_by_java

責(zé)任編輯:林師授 來源: OSCHINA
相關(guān)推薦

2011-04-25 09:35:31

TwitterJava

2023-11-02 08:00:00

ClickHouse數(shù)據(jù)庫

2010-09-29 11:06:21

活動(dòng)目錄OpenLDAP

2023-08-08 21:03:52

2012-05-21 10:23:36

2013-06-21 13:49:08

MariaDB

2010-07-20 09:48:33

2016-10-26 16:44:44

WatchfinderAWS云計(jì)算

2012-05-30 09:12:46

NodeJSRubyRails

2009-02-06 10:32:00

UnixLinux服務(wù)器

2013-05-03 09:49:38

MySQLMariaDB

2011-06-24 10:10:35

SVN

2020-07-27 11:35:26

GitHub代碼開發(fā)者

2021-11-29 09:44:03

UmiJSVite前端

2022-06-06 07:24:09

Caddy開源Ubuntu

2012-02-24 09:34:48

SVNGit

2009-06-16 15:15:18

WebLogic EJ

2020-01-06 12:50:50

Windows 7遷移Windows 10

2022-07-27 22:48:29

消息中間件RocketMQ架構(gòu)設(shè)計(jì)

2020-09-09 09:38:47

GoLangNodeJS編程語言
點(diǎn)贊
收藏

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